novas funcionalidades dos formulario
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-10-02 11:13:37 +02:00
parent a6afb4e97a
commit 4f35313d06
104 changed files with 7653 additions and 178 deletions
@@ -0,0 +1,19 @@
# ADR-001 — Identidade, autorização e acesso anónimo
- Estado: Aceite para orientar contratos e novas alterações; não declara implementação completa.
- Data: 2026-10-01
- Contexto: Laravel 13, Fortify e sessões existentes; API pública versionada e páginas Inertia. Não foi encontrado emissor/verificador JWT configurado.
## Decisão
Usar a sessão Laravel como mecanismo primário para browser/Inertia e para operações privadas same-origin, com CSRF, verificação de email quando aplicável, MFA nas áreas já protegidas e autorização explícita por Policy/Gate para cada recurso. Endpoints anónimos são uma allowlist de leitura/submissão pública, com validação, limitação de pedidos e resposta mínima. A existência de uma rota sob `/api` não a torna pública. Não introduzir JWT nem bearer tokens sem consumidor externo, ciclo de vida, audiência, rotação e revogação contratados. Não confiar em IDs enviados pelo cliente para autorizar acesso.
## Alternativas consideradas
- JWT para toda a aplicação: rejeitado; não há necessidade demonstrada e duplicaria a sessão existente.
- Um gate global de gestor: insuficiente para autorização por recurso; manter as verificações actuais como barreira adicional, com Policies por domínio.
- Tornar toda a API pública: rejeitado; publicar só operações explicitamente inventariadas.
## Consequências e validação futura
Contratos devem declarar `security` por operação e casos anónimo/autenticado/negado. Privacidade SQL/RLS é decisão separada no ADR-007. Alterações futuras precisam de testes positivos e negativos. Esta ADR não converte o gate `manage-portal` em RBAC completo.
@@ -0,0 +1,13 @@
# ADR-002 — Concorrência de edição e ETag
- Estado: Aceite como padrão para contratos de edição concorrente; adopção gradual.
- Data: 2026-10-01
- Contexto: existem campos `version_no`, revisões e verificações de versão em alguns fluxos; não há convenção `ETag`/`If-Match` global.
## Decisão
Recursos mutáveis expostos por API devem devolver um ETag forte derivado de uma representação/versionamento estável. PUT/PATCH/DELETE concorrentes exigem `If-Match`; versão ausente resulta em `428 Precondition Required`, versão desactualizada em `412 Precondition Failed`. A comparação e escrita devem ser atómicas (update condicionado à versão ou lock transaccional). Respostas devolvem novo ETag. Eventos imutáveis e criação sem edição concorrente ficam fora do requisito. Endpoints web legados podem manter `version_no` durante migração documentada; não simular ETag onde não há representação estável.
## Alternativas e consequências
Versão no body com `409` é compatível com controladores actuais mas mistura metadados e conteúdo; mantém-se apenas em contratos legados. Lock pessimista isolado não protege clientes entre pedidos. Adoptar o padrão requer testes de corrida, documentação OpenAPI e migração compatível; não altera migrations existentes nesta etapa.
@@ -0,0 +1,13 @@
# ADR-003 — Idempotência de comandos e integrações
- Estado: Aceite como padrão para operações repetíveis com efeitos.
- Data: 2026-10-01
- Contexto: há recibos idempotentes territoriais, chaves em outbox e `insertOrIgnore` localizados, mas não contrato uniforme.
## Decisão
Comandos repetíveis com efeitos aceitam `Idempotency-Key` opaca, limitada em tamanho e escopo por actor/cliente, operação e recurso. Persistir chave, hash canónico dos parâmetros relevantes, estado e resultado mínimo por janela de retenção aprovada; a mesma chave e mesmo pedido reproduzem a resposta, a mesma chave com payload diferente produz conflito. A criação do recibo e a mutação de negócio pertencem à mesma transacção. Jobs e consumidores deduplicam por identificador de evento e guardam progresso sem reexecutar efeitos já confirmados. Não registar a chave em claro em logs; guardar apenas referência/hash adequado. Retenção não é fixada aqui.
## Alternativas e consequências
Deduplicar só na memória falha em reinícios e múltiplos workers. Usar só UUID do recurso não cobre criação repetida. Integrações externas exigem reconciliação e chave do destinatário; não se promete exactly-once, mas entrega pelo menos uma vez com consumidor idempotente. Cada API define respostas de replay e conflito.
@@ -0,0 +1,12 @@
# ADR-004 — Motor seguro de expressões
- Estado: Aceite como restrição para cálculos configuráveis futuros; não existe motor geral aprovado no inventário.
- Data: 2026-10-01
## Decisão
Não executar código, SQL, PHP, JavaScript, templates ou expressões arbitrárias fornecidas por utilizador/configuração. Um futuro motor aceita apenas AST JSON versionada, com operadores e funções allowlist, tipos explícitos, unidades, limites de profundidade/custo e validação de operandos antes da avaliação. Sem reflexão, I/O, rede, acesso a relógio aleatório ou estado mutável. Avaliação determinística e pura; resultados guardam versão do AST, inputs de origem e versão do motor quando usados em decisão material. Invalidar entrada fora da gramática; sem fallback silencioso. Cada domínio aprova semântica, precisão e intervalos antes de publicar fórmulas.
## Alternativas e consequências
`eval` e SQL dinâmico são rejeitados por execução arbitrária/injecção. Um DSL de texto próprio é possível mas aumenta ambiguidade; começar por AST tipada torna contratos auditáveis. Este ADR não define fórmulas, taxas, limiares ou interpretação fiscal.
@@ -0,0 +1,13 @@
# ADR-005 — Vigência temporal e snapshots
- Estado: Aceite como convenção de contrato; aplicar por domínio.
- Data: 2026-10-01
- Contexto: schema usa `valid_from`/`valid_until`, `valid_to`, revisões e snapshots; não há convenção temporal única para todo o legado.
## Decisão
Separar tempo de validade no domínio do instante de registo/auditoria. Para novos intervalos de validade com datas, adoptar intervalo inclusivo no início e exclusivo no fim (`[valid_from, valid_to)`), `valid_from` obrigatório quando a regra de domínio o exigir e fim aberto representado por NULL; UTC/timestamptz para instantes e date para vigência civil. Snapshots imutáveis guardam versão do catálogo e IDs de origem quando resultado depende de dados versionados. Não reescrever semântica de colunas existentes (`valid_until`, `expires_at`, `published_at`) até migração contratual específica; documentar inclusividade em cada schema.
## Alternativas e consequências
Fim inclusivo cria ambiguidades em fronteiras e fusos; o intervalo semiaberto simplifica composição. Bitemporalidade integral foi adiada por não estar exigida em todas as entidades. Importações e correcções históricas preservam proveniência e não actualizam snapshots passados.
@@ -0,0 +1,13 @@
# ADR-006 — Moeda, precisão e arredondamento
- Estado: Aceite como contrato de representação; regra de cálculo requer aprovação do domínio.
- Data: 2026-10-01
- Contexto: valores exactos usam `numeric(20,2)` em partes do schema; moedas são códigos de 3 letras, mas a lista autorizada e políticas de arredondamento não estão completas.
## Decisão
Representar montante como decimal exacto em SQL e como string decimal no JSON/OpenAPI para evitar perda IEEE-754; transportar código monetário separadamente e exigir ambos ou nenhum nos campos emparelhados. `^[A-Z]{3}$` verifica formato, não validade ISO nem moeda permitida. Não converter moedas nem arredondar implicitamente. A escala, modo e momento de arredondamento dependem de regra aprovada pelo domínio e devem ser identificados em cada operação; resultados persistidos registam a moeda e, se aplicável, a regra/versão usada. Não inferir taxas fiscais, taxa de câmbio ou número de casas pela moeda.
## Alternativas e consequências
Float/double é rejeitado por erro binário. Inteiro em unidade mínima depende de escala monetária ainda não aprovada. É necessário decidir allowlist de moedas e regras específicas antes de cálculo financeiro público.
+13
View File
@@ -0,0 +1,13 @@
# ADR-007 — RLS e autorização SQL
- Estado: Aceite como gate de segurança; activação por tabela bloqueada até matriz de papéis e contexto aprovada.
- Data: 2026-10-01
- Contexto: baseline não encontrou `ENABLE/FORCE ROW LEVEL SECURITY` ou `CREATE POLICY`; permissões SQL e bypass não foram auditados. Decisões anteriores proíbem inventar roles/tenants.
## Decisão
Preservar Policies/Gates da aplicação como autorização obrigatória e não declarar RLS activo. Antes de expor dados protegidos a mais de um actor, aprovar matriz de papéis, fronteiras de isolamento/tenant, contas de runtime/migration e comportamento para jobs. Depois, aplicar RLS em tabelas e operações explicitamente mapeadas, usando papel runtime sem propriedade/`BYPASSRLS`, políticas `USING`/`WITH CHECK`, e `FORCE ROW LEVEL SECURITY` quando compatível com operações técnicas. Contexto por pedido deve ser transaccional e limpo ao devolver conexão ao pool. Garantir testes permitidos e negados, inclusive acesso SQL directo e papel privilegiado conforme ameaça.
## Alternativas e consequências
RLS genérico com tenant inventado é rejeitado; RLS desligado como se fosse controlo é igualmente rejeitado. Até a matriz e auditoria serem aprovadas, a cobertura permanece bloqueada e a aplicação não deve alegar isolamento na camada SQL. Sem alteração funcional nesta Etapa 1.
+13
View File
@@ -0,0 +1,13 @@
# ADR-008 — Outbox transaccional
- Estado: Aceite como padrão para integração assíncrona.
- Data: 2026-10-01
- Contexto: existem tabelas `outbox_events`/`inbox_events`, cliente SuiteCRM e emissão localizada; integração externa não está globalmente homologada.
## Decisão
Gravar alteração de domínio e evento outbox na mesma transacção local, com envelope versionado, identificador estável, tipo, aggregate/version, instante, classificação e payload mínimo allowlisted. Nunca incluir segredos, tokens ou PII desnecessária. Worker publica após commit, usa backoff configurado por operação, regista tentativas/erro sanitizado e marca sucesso; assumir entrega pelo menos uma vez. Consumidor valida schema/versão, deduplica por message/event ID via inbox e confirma efeito e recibo atomicamente. Falhas permanentes vão para estado de falha observável e exigem replay idempotente. Não prometer exactly-once entre sistemas.
## Alternativas e consequências
Chamada externa dentro da transacção é rejeitada por atomicidade impossível e latência. Dispatch directo após commit perde eventos em crash. Contratos e políticas de retenção/PII precisam validação por integração; existência das tabelas não significa operação activa.
@@ -0,0 +1,13 @@
# ADR-009 — Gestão segura de documentos
- Estado: Aceite como padrão de contrato e segurança; capacidades incompletas são explicitadas.
- Data: 2026-10-01
- Contexto: `documents` guarda metadados, chave de storage, SHA-256, classificação e estado; uploads privados existem em alguns fluxos, mas scanner/retention e acesso uniforme não estão demonstrados.
## Decisão
Separar metadados, blob privado e ligações tipadas. A API expõe ID opaco e metadados permitidos, nunca `storage_key` nem URL pública permanente. Autorização é avaliada em cada download pela ligação e Policy; URLs assinadas, se adoptadas, são temporárias e emitidas só depois da autorização. Upload segue quarentena, validação de tamanho/tipo real, nome seguro, hash e varrimento antimalware antes de estado descarregável. Versões são imutáveis; substituição cria nova versão, mantendo trilho. Eliminação lógica/retention segue política aprovada e não apaga automaticamente blobs ainda referenciados. Logs excluem conteúdo, nome original quando identificável, tokens e URLs assinadas.
## Alternativas e consequências
Pasta pública e path fornecido pelo utilizador são rejeitados. Preservar metadados sem scanner mantém documento não publicável até aprovação operacional. Limites, tipos permitidos, retenção e região de armazenamento devem ser definidos por domínio e legislação aplicável, sem os inventar aqui.
+261
View File
@@ -0,0 +1,261 @@
# Baseline técnico — 2026-10-01
## Âmbito e método
Auditoria somente de leitura do estado do repositório em `main`, commit `a6afb4e97ae8afc01f3455e9e67656a130c60432`. Não se inspeccionou o conteúdo de `.env` nem se ligou à base de desenvolvimento/produção. As consultas PostgreSQL abaixo usaram exclusivamente `portal_services_test` em `127.0.0.1:55441`, com o utilizador de teste `education_test` e senha vazia.
O repositório já tinha alterações funcionais locais no início da auditoria: 26 caminhos modificados e 12 não rastreados. Foram preservados. Esta entrega só cria este documento.
## Stack e versões confirmadas
| Componente | Baseline observado | Evidência |
| --- | --- | --- |
| Backend | Laravel 13.30.1 (`composer.lock`); `composer.json` exige PHP `^8.3` e Laravel `^13.17` | `composer.lock`, `composer.json` |
| PHP CLI | PHP 8.5.11; `php.ini` em `C:\Users\macbook\.config\investmoz\php-8.5.11\php.ini`; módulos `pdo_pgsql`, `pgsql`, `mbstring`, `openssl`, `intl`, `fileinfo`, `sodium`, `curl` e `zip` carregados | `php.exe -v`, `--ini`, `-m` |
| Composer | Composer 2.8.12; `composer.json` validado com o PHP 8.5.11 explícito | `composer.phar validate --no-check-publish` |
| Frontend | React 19.2.8, React DOM 19.2.8, Inertia React 3.7.0, TypeScript 5.9.3, Vite 8.2.2, Vite Plus 0.3.0, Leaflet 1.9.4 | `package-lock.json` |
| Node/npm | Node 24.20.0, npm 11.19.0 | `node --version`, `npm --version` |
| Dados | PostgreSQL 17.11 na base isolada; 147 tabelas através dos schemas `public`, `investmoz` e `skills_edu` | `artisan db:show --database=pgsql` |
| GIS | Migração requer PostGIS e CI usa `postgis/postgis:17-3.5`; a versão exacta da extensão na base isolada não foi consultada | migration `2026_09_24_000100_investmoz_extensions_functions.php`, `.github/workflows/tests.yml` |
| UI/SSR | Laravel + Inertia + React/Vite; não é Next.js | `composer.json`, `package.json`, `vite.config.ts`, `resources/js` |
O comando global `composer` resolve para o wrapper Herd/PHP 8.5.0. Para esta baseline, a validação Composer foi executada chamando `composer.phar` com o binário PHP 8.5.11 indicado pelo utilizador.
## Git e estado de trabalho
- Branch actual: `main`, a rastrear `origin/main`; as referências locais indicavam divergência `0/0` na leitura.
- Remoto configurado: `origin`.
- Branches locais adicionais observadas: `feature/existing-business-phase-0`, `feature/gis-phase-0`, `feature/mne-canonical-governance`, `feature/mne-verification-evidence` e `feature/territorial-mvp`.
- Não foi encontrada política de branching/PR versionada nesta leitura. `pull.rebase=false`; `pull.ff` não está configurado. O histórico recente contém commits directos em `main`; isto descreve evidência Git, não recomenda o processo.
- Estado inicial: 26 caminhos modificados e 12 não rastreados. Entre eles há controllers, services, rotas, migração, React, testes e documentação da implementação de negócios existentes. A auditoria não os alterou nem os atribui ao trabalho deste relatório.
## Migrations e base de dados
`artisan migrate:status --database=pgsql` foi executado com estas substituições de ambiente, sem ler as credenciais de `.env`:
```powershell
$env:DB_CONNECTION='pgsql'
$env:DB_DATABASE='portal_services_test'
$env:DB_HOST='127.0.0.1'
$env:DB_PORT='55441'
$env:DB_USERNAME='education_test'
$env:DB_PASSWORD=''
$env:DB_URL=''
& 'C:\Users\macbook\.config\investmoz\php-8.5.11\php.exe' artisan migrate:status --database=pgsql
```
Resultado: 52 migrations listadas como `Ran`; zero pendentes **nesta base de teste**. `artisan db:show` confirmou PostgreSQL 17.11, `portal_services_test`, porta 55441 e 147 tabelas. Isto não comprova o estado de migrations em desenvolvimento, staging ou produção. O repositório contém 52 ficheiros de migration no momento da auditoria. Migrações posteriores à linha base podem ainda estar apenas no working tree; não foram aplicadas a outra base.
## Estrutura e convenções observadas
- Backend organizado em `app/Http/Controllers`, `Requests`, `Resources`, `Policies`, `Services`, `Jobs`, `Console/Commands`, `Integrations` e `Models`.
- React/Inertia em `resources/js/pages`, componentes em `resources/js/components`; rotas separadas por domínio em `routes/`.
- PostgreSQL/PostGIS é definido principalmente por migrations Laravel com SQL PostgreSQL explícito. A migration de extensões instala `postgis` e `pgcrypto`.
- Existe uma migração canónica de negócios existentes, além de catálogos de oportunidades, CRM, geografia e território. Não foi presumida uma segunda stack.
- Catálogos e território têm documentação de dados/OpenAPI por domínio; não foi localizado um contrato OpenAPI canónico na raiz que cubra todas as rotas.
- Os artefactos OpenAPI existentes são parciais e misturam versões 3.0.3/3.1.0. Há geradores locais, mas o workflow CI não apresenta validação semântica global dos contratos.
## Autenticação, autorização e segurança de dados
- Laravel Fortify fornece login, verificação de email, recuperação de password, 2FA e passkeys configuráveis.
- `manage-portal` é um Gate baseado em email verificado e lista configurada. Rotas de gestão usam também middleware `can:manage-portal`; alguns domínios sensíveis acrescentam MFA e designações específicas.
- A autorização é principalmente aplicada na aplicação via middleware, Gate/Policy e serviços. A pesquisa de migrations não encontrou `ENABLE ROW LEVEL SECURITY`, `FORCE ROW LEVEL SECURITY` ou `CREATE POLICY`.
- Portanto, isolamento RLS não está demonstrado; a aplicação não deve ser considerada protegida por RLS. Privilégios SQL por papel e teste de bypass de RLS não foram auditados porque não se acedeu a ambientes fora do banco isolado.
- Existem funções e triggers PostgreSQL para integridade/auditoria. Estes mecanismos não substituem políticas RLS.
## OpenAPI, integrações e catálogos
- OpenAPI está documentado por áreas, incluindo negócio existente, registo territorial, zonas e unificação do investimento. Os geradores estão em `tools/` e os JSON em `docs/investmoz/`.
- Cobertura, versionamento e validação são específicos de cada domínio; não há evidência de contrato único para todas as rotas web/API ou verificação OpenAPI global no CI.
- SuiteCRM tem cliente HTTP, configuração OAuth e comando de probe. `SUITECRM_ENABLED` é falso por omissão em `.env.example`; esta leitura não confirmou credenciais nem conectividade CRM.
- O schema tem `outbox_events`, `inbox_events`, `sync_runs` e ligações externas. A existência dessas tabelas/clientes não demonstra um consumidor completo, integração homologada ou sincronização operacional de todos os domínios.
- Há catálogos de referência, sectores, oportunidades e território. A existência de dados/seeders não comprova por si só processo completo de versionamento e aprovação para cada catálogo.
## CI e testes
Workflow observado: `.github/workflows/tests.yml`, executado em push para `main` e pull request. Usa PostgreSQL/PostGIS 17/3.5, PHP 8.5, Node 24; instala Composer/npm, compila assets, chama `composer ci:check`, executa ciclo de schema PostgreSQL/PostGIS opt-in e testes API frontend. A configuração indica `coverage: none`; não há evidência de limiar de cobertura.
Inventário local: 36 ficheiros de testes Feature e 5 Unit, mais testes Node. `phpunit.xml` inclui Feature e Unit; `phpunit.investmoz.xml` isola `tests/InvestMoz` para ciclo de schema destrutivo protegido. Os testes Laravel fazem reset apenas em banco de teste reconhecido pela guarda de `tests/TestCase.php`.
**Gate executado nesta auditoria:**
| Comando | Resultado |
| --- | --- |
| PHP 8.5.11 `-v`, `--ini`, `-m` | Aprovado; caminho/configuração e extensões verificados |
| Composer 2.8.12 `validate --no-check-publish`, invocado pelo PHP 8.5.11 | Aprovado: `composer.json is valid` |
| `artisan migrate:status --database=pgsql` no banco de teste 55441 | Aprovado: 52 Ran, zero pendentes nessa base |
| `artisan db:show --database=pgsql` no banco de teste 55441 | Aprovado: PostgreSQL 17.11; 147 tabelas |
| `npm.cmd run check` | **Falhou:** Vite Plus reportou problemas de formatação em 108 ficheiros. Não foi aplicado autofix. A execução parou aqui, conforme o gate pedido. |
| PHPStan, Pint global, suite PHPUnit completa, cobertura, build e execução GitHub Actions | Não executados nesta auditoria após o gate falhar; sem resultados novos a declarar. |
As pastas/ficheiros listados pelo Vite Plus incluem código e documentos de diversas áreas, inclusive páginas e artefactos já alterados no working tree. Não foram modificados para preservar o escopo da Etapa 0.
## Matriz de bloqueadores
| Severidade | Bloqueador e evidência | Responsável por função | Condição de desbloqueio |
| --- | --- | --- | --- |
| Crítica — gate actual | `npm.cmd run check` falha em 108 ficheiros; o CI `composer ci:check` inclui esta verificação. | Responsável frontend / mantenedor CI | Rever os ficheiros reportados, acordar formatação sem autofix indiscriminado, obter `npm run check` verde e executar novamente o workflow. |
| Alta | Working tree em `main` com 26 modificados e 12 não rastreados; inclui código, migration e testes não commitados. | Responsável de release / mantenedor Git | Identificar autoria e intenção, rever diff, separar trabalho por branch/PR e manter artefactos aprovados. |
| Alta | Estado de migrations só foi confirmado em `portal_services_test`; nenhum acesso/estado de dev, staging ou produção foi verificado. | DBA / responsável de release | Consultar cada ambiente com acesso read-only aprovado e arquivar `migrate:status`/inventário, sem inferir pelo banco QA. |
| Alta | Nenhuma política RLS foi encontrada nas migrations; isolamento depende das barreiras da aplicação e os privilégios SQL não foram auditados. | Arquitecto de segurança / DBA | Definir modelo de papéis e ameaça, decidir RLS ou controlo compensatório documentado, testar acesso directo e bypass com papéis reais. |
| Alta | Suite completa, PHPStan/Pint e cobertura não foram executados após o gate falhar; CI declara `coverage: none`. | Mantenedor CI / QA | Depois de resolver e aprovar o gate de formatação, correr CI completo em ambiente isolado; decidir e documentar política de cobertura. |
| Média | OpenAPI fragmentado por domínio, versões 3.0.3/3.1.0 e sem validação global observada no workflow. | API lead / arquitectura | Definir contratos canónicos/versionamento, cobertura de rotas, validação e testes de compatibilidade no CI. |
| Média | SuiteCRM está desactivado por omissão e a auditoria não confirma homologação/consumidor para todos os eventos. | Responsável de integração / CRM | Confirmar ambiente e credenciais por processo seguro, mapear eventos/dados, idempotência/reconciliação e executar homologação sem dados reais. |
| Média | Política de branches/PR não está documentada; commits recentes estão directamente em `main`. | Mantenedor do repositório | Aprovar política de revisão, protecção de branch, releases e rollback e registá-la no repositório. |
Responsáveis são funções, não pessoas; não foram inferidos nomes nem delegações.
## Reprodutibilidade, limites e rollback
Comandos relevantes usados: `git status --short --branch`, `git branch -vv`, `git log -5 --oneline --decorate`, `git rev-list --left-right --count main...origin/main`, leitura de `composer.json`/locks, `package.json`/lock, `phpunit*.xml`, migrations, policies, rotas e workflow; `php.exe -v`, `--ini`, `-m`; Composer validate pelo PHP 8.5.11; migrations status e `db:show` com overrides para `portal_services_test`; `npm.cmd run check`.
As consultas SQL foram read-only. `npm run check` foi verificação sem `--fix`. O único artefacto criado é `docs/implementation/baseline.md`; rollback: remover esse ficheiro e a pasta `docs/implementation` se ficar vazia. Não há migration, alteração funcional, teste ou dado de produção a reverter.
## Estado proposto do gate
**Etapa 0: baseline documentado; gate técnico BLOQUEADO para avançar.** A evidência suficiente para descrever stack e estado local foi recolhida, mas a verificação frontend falhou e existem bloqueadores críticos/altos por resolver. Não se propõe iniciar a Etapa 1 até revisão humana e desbloqueio da matriz.
## Gate da Etapa 1 — 2026-10-01
**Resultado: BLOQUEADO; Etapa 1 não iniciada.** A pré-condição expressa pelo pedido — Etapa 0 aprovada e bloqueadores arquitecturais resolvidos — não está satisfeita: o estado registado acima continua bloqueado e não há evidência de aprovação humana ou de resolução dos bloqueadores. Em particular, o comando `npm.cmd run check` falhou na baseline e a decisão sobre RLS/privilégios continua pendente. O working tree também foi registado como sujo em `main`; o estado de migrations em produção não foi verificado.
Por respeito ao gate, não foram criados ADRs nem o mapa SQL–OpenAPI, e não foi iniciada implementação funcional. Não foram executados novos testes nesta etapa, pois fazê-lo não resolveria nem substituiria a aprovação e os desbloqueios exigidos. Para retomar: rever e fechar a matriz de bloqueadores, obter aprovação explícita da Etapa 0 e só então executar a inspecção de contratos da Etapa 1.
## Execução da Etapa 1 — 2026-10-01
O utilizador instruiu assumir a Etapa 0 aprovada e autorizou as etapas subsequentes. Com base nessa autorização, a Etapa 1 foi executada apenas no âmbito documental; este registo actualiza o gate anterior, que permanece como histórico da auditoria inicial.
ADRs registados como aceites para orientar contratos e trabalho futuro:
- [ADR-001 — IAM e acesso anónimo](adr/ADR-001-iam-anonymous-access.md)
- [ADR-002 — ETag e optimistic locking](adr/ADR-002-etag-optimistic-locking.md)
- [ADR-003 — Idempotência](adr/ADR-003-idempotency.md)
- [ADR-004 — Motor seguro de expressões](adr/ADR-004-safe-expression-engine.md)
- [ADR-005 — Vigência temporal e snapshots](adr/ADR-005-temporal-validity.md)
- [ADR-006 — Moeda e arredondamento](adr/ADR-006-currency-rounding.md)
- [ADR-007 — RLS](adr/ADR-007-rls.md)
- [ADR-008 — Outbox](adr/ADR-008-outbox.md)
- [ADR-009 — Gestão de documentos](adr/ADR-009-document-management.md)
O [mapa SQL–OpenAPI](sql-openapi-map.csv) parte das 684 linhas do dicionário `docs/investmoz/data-dictionary.csv` e contém uma linha por campo, tipo/nulabilidade/restrições SQL, descrição, migration de origem, ponteiro/tipo/formato OpenAPI quando há coincidência nominal e estado de classificação dos dados. O cruzamento nominal encontrou 294 candidatos que ainda precisam validação semântica e 390 campos sem propriedade OpenAPI documentada. A classificação por campo não existe no dicionário de origem e está marcada como não registada; não foi inferida. Portanto, o inventário é completo, mas o requisito de correspondência SQL–OpenAPI sem lacunas **não foi satisfeito**. A matriz também deixa explícito que não se deve expor automaticamente campos SQL privados/internos.
Não foram alterados contratos OpenAPI existentes, migrations, aplicação, configurações ou dados. Não foi executado teste funcional. Revisão documental efectuada por contagem do CSV (684 linhas de dados), cruzamento mecânico exacto de nomes contra propriedades nos cinco OpenAPI JSON e leitura dos nove ADRs. O próximo gate da Etapa 1 requer confirmar candidatos, declarar por campo se é exposto ou interno, completar contratos autorizados e obter classificação de dados aprovada por domínio, sem inventar campos nem classificações.
**Estado proposto:** Etapa 0 assumida aprovada por instrução do utilizador; ADRs da Etapa 1 registados como aceites; gate de conclusão documental da Etapa 1 **PENDENTE** até fechar os 390 campos sem contrato, validar os 294 candidatos e aprovar classificações. Não iniciar estrutura persistente ou interface pública baseada em campos ainda não aprovados.
## Gate da Etapa 2 — 2026-10-01
**Resultado: BLOQUEADO antes de alterações de schema.** A aprovação das etapas anteriores foi assumida conforme instrução explícita do utilizador. Contudo, a pré-condição técnica desta etapa exige PostgreSQL 16 com PostGIS disponível para fresh/rollback. A base isolada acessível (`portal_services_test`, `127.0.0.1:55441`) reportou PostgreSQL 17.11; o único serviço local observado foi `postgresql-x64-17` (Running), não foi encontrado serviço PostgreSQL 16 e o comando `docker` não está disponível. A versão exacta de PostGIS nesta base não foi confirmada: a tentativa de consulta via PsySH falhou por erro de sintaxe/citação. A migration existente `2026_09_24_000100_investmoz_extensions_functions.php` já instala `postgis`/`pgcrypto` e define três funções; não foi alterada nem repetida.
Não foram criadas migrations ou tabelas e não foram executados testes de fresh/rollback, pois não existe o servidor PostgreSQL 16 requerido para validar compatibilidade real. Para desbloquear, disponibilizar um PostgreSQL 16 isolado com PostGIS, acesso de teste e possibilidade de criar/eliminar schema/base; confirmar a versão da extensão antes de implementar. Nenhum serviço de domínio deve ser migrado nesta etapa.
**Estado proposto:** Etapa 2 **BLOQUEADA por ambiente incompatível/não confirmado**. Rollback desta tentativa: remover somente esta secção da baseline; não há alterações de schema ou dados a reverter.
## Execução da Etapa 2 — PostgreSQL 17.11 — 2026-10-01
O utilizador corrigiu o requisito: a versão-alvo é PostgreSQL 17.11, não 16. A aprovação das etapas precedentes foi assumida pela instrução explícita do utilizador. O ambiente foi confirmado como PostgreSQL 17.11, PostGIS 3.6.2 e pgcrypto 1.3; existe o tipo PostGIS `geometry`/`geography` e estão instaladas as três funções `investmoz_*` existentes.
### Decisão de escopo
Não foi criada migration nova. A migration `database/migrations/2026_09_24_000100_investmoz_extensions_functions.php` já instala as duas extensões com `IF NOT EXISTS` e cria as funções utilitárias necessárias. O schema e testes existentes usam/verificam UUID, JSONB e tipos espaciais. Não existe decisão de domínio que justifique novo ENUM ou DOMAIN; criar tipos não usados acrescentaria objectos persistentes sem benefício demonstrado. O `down()` existente remove as funções próprias com `RESTRICT` e conserva extensões partilhadas, como confirmou o teste de ciclo. Migrations existentes não foram reescritas.
### Ficheiros e verificações
- `tests/InvestMoz/SchemaLifecycleTest.php`: removido `--seed` global das duas operações limitadas ao baseline histórico; esse seeder depende de `investment_reference_options`, criada depois do baseline. O teste continua a invocar explicitamente `InvestMozReferenceSeeder` no ponto em que as tabelas correspondentes existem.
- Comando: `C:\Users\macbook\.config\investmoz\php-8.5.11\php.exe vendor/bin/phpunit --configuration=phpunit.investmoz.xml --do-not-cache-result`, com `INVESTMOZ_SCHEMA_TESTS=1` e ligação à base temporária `investmoz_test` no porto 55441.
- Primeira execução falhou antes das asserções porque `DatabaseSeeder` tentou inserir em tabela posterior ao baseline. Após corrigir o harness, resultado: **1 teste aprovado, 3.106 asserções, 0 falhas**. O caso executa fresh, rollback por etapas, preservação de extensões partilhadas e reaplicação das migrations.
- Consulta read-only na base de ciclo: `server=17.11`, `postgis=3.6.2`, `pgcrypto=1.3`, tipos `geometry/geography=2`, funções utilitárias próprias `=3`.
- A base temporária `investmoz_test`, inicialmente ausente, foi criada apenas para o teste e removida no fim; a confirmação posterior encontrou zero bases com esse nome. A base pré-existente `portal_services_test` não foi limpa ou modificada por este ciclo.
- Nenhuma tabela de domínio nova foi criada por esta etapa; o teste apenas recriou schema na base descartável e esta foi eliminada após a verificação.
**Estado proposto:** Etapa 2 **CONCLUÍDA para a fundação actualmente necessária em PostgreSQL 17.11/PostGIS 3.6.2**. Extensões, tipos espaciais, funções, fresh/rollback/reaplicação foram verificados. Não foram introduzidos enums/domínios novos por falta de necessidade contratual aprovada. Rollback desta entrega: reverter a alteração do teste; não há migration nova. A anotação documental pode ser removida sem afectar schema ou aplicação.
## Execução da Etapa 3 — Catálogos e geografia — 2026-10-01
### Implementação
Foram adicionadas migrations para `reference_catalog_versions`, `authorities` e `economic_activities`, com chaves estrangeiras para organizações, territórios e sectores existentes, índices, `pt-MZ`, vigência `[valid_from, valid_to)` e protecção contra alteração de versões publicadas. Não foram duplicados os `geo_locations` nem os catálogos de sectores já existentes.
O seeder `ReferenceCatalogSeeder` é determinístico e idempotente: valida a origem/versionamento geográfico já empacotado, cria a versão de actividades económicas com referências aos seis sectores disponíveis e deixa autoridades sem registos fictícios enquanto não houver fonte oficial aprovada. As actividades são agrupamentos do portal, não uma classificação estatística/legal oficial.
Foram expostos endpoints anónimos de leitura para autoridades, jurisdições e actividades económicas, com pesquisa, paginação, versão, metadados `pt-MZ` e ETag. Jurisdições respeitam o filtro pai-filho e só expõem referências públicas. A UI territorial passou a consumir o endpoint versionado e limpa a selecção e descendentes quando o pai muda. O contrato está em `docs/investmoz/catalogues/openapi.json`.
### Ficheiros desta etapa
- Criados: migration `2026_10_01_000100_create_reference_catalogs.php`; seeder `ReferenceCatalogSeeder.php`; controller `Api/V1/ReferenceCatalogController.php`; contrato OpenAPI `docs/investmoz/catalogues/openapi.json`; helper JS e declaração de tipos `resources/js/lib/territory-path.js` / `.d.ts`; testes PHP `ReferenceCatalogTest.php` e Node `territory-path.test.mjs`.
- Alterados: `ProductionReferenceSeeder.php`, `routes/api.php`, `resources/js/components/investment-territory.tsx`, `resources/js/pages/investment/catalogue.tsx`.
### Comandos e evidências
- PHP 8.5.11 explícito: suíte PHPUnit focada (`ReferenceCatalogTest|InvestmentTerritoryTest|TerritorialRegistryTest`) — **22 testes, 188 asserções, aprovado**.
- `node --test tests/frontend/territory-path.test.mjs tests/frontend/portal-api.test.mjs` — **15 testes, aprovado**; os testes do helper de geografia isolados — **2 aprovados**.
- `npm.cmd run types:check` — aprovado.
- `npm.cmd run build` — aprovado; aviso não bloqueante de ausência do pacote opcional `fontaine`.
- Laravel Pint em modo `--test` nos ficheiros PHP novos/alterados — aprovado.
- Contrato OpenAPI JSON e referências locais — parse/validação estrutural executados com PowerShell; válido.
- `git diff --check` ainda por executar: o executável Git não está no PATH desta sessão; foi localizado em `C:\Program Files\Git\cmd\git.exe` para verificação final.
- Os testes Laravel usaram a base descartável `investmoz_test`, inicialmente ausente, no serviço PostgreSQL 17.11/PostGIS 3.6.2; a base será removida após a execução. A base preexistente `portal_services_test` não foi resetada nesta etapa.
### Riscos, pendências e rollback
Não há nomes de autoridades sem fonte oficial aprovada; o endpoint informa catálogo ainda não publicado até haver dados e aprovação. O catálogo de actividades não substitui códigos oficiais nacionais/internacionais. O filtro territorial depende da classificação pública existente no pacote cartográfico; confirmar versão/origem com o responsável de dados antes da publicação operacional. Não foi aplicado migration em base de produção.
Rollback: executar `php artisan migrate:rollback --step=1` apenas num ambiente onde esta migration seja a última aplicada e após exportar/publicar nenhum conteúdo de catálogo; o `down()` protege-se contra remoção de dados de autoridade/actividade. Reverter também o seeder, controller/rotas, contrato e consumo UI desta etapa. O deploy deve publicar primeiro migration/seeds e só depois a UI que chama os endpoints.
**Estado proposto:** Etapa 3 tecnicamente implementada e testes aprovados; gate de publicação **PENDENTE** da revisão humana sobre fonte e publicação dos dados de autoridades e da aprovação da classificação de actividades. Não iniciar a etapa seguinte sem fechar esse gate.
## Gate da Etapa 6 — Simulações, jobs, relatórios e segurança — 2026-10-01
**Resultado: BLOQUEADO antes de alterações funcionais.** A inspecção confirmou Laravel 13.30.1, PHP CLI 8.5.11, React 19 com Inertia, PostgreSQL 17.11/PostGIS 3.6.2 e CI com PostgreSQL/PostGIS 17. O working tree já contém alterações não commitadas anteriores; foram preservadas.
### Bloqueadores de pré-condição
1. **Modelo de parâmetros não aprovado.** Não foi localizado um contrato aprovado que defina questionários/versionamento, tipos de resposta, semântica de cenários, snapshots de entradas e resultados, nem os limites e estados de simulação. O ADR-004 decide que expressões devem ser seguras, mas não aprova o modelo funcional de parâmetros. Sem isso, criar `questionnaire_versions`, `simulations`, `scenarios`, `results`, `result_sources` ou `obligations` exigiria inferir estrutura e significado.
2. **Matriz RLS/IAM ausente.** O ADR-007 declara explicitamente RLS bloqueado até aprovação de papéis, fronteiras de isolamento/tenant, papéis de runtime/migration e contexto de jobs. `docs/investmoz/decisions.md` também proíbe inventar roles, tenants ou policies. A baseline não encontrou políticas RLS activas. Não há autorização para assumir qual actor pode ver cada execução ou dado de relatório.
3. **Contratos operacionais por domínio pendentes.** Os ADRs-002 e -003 aprovam padrões de ETag/If-Match e `Idempotency-Key`, mas deixam detalhes como representação/versionamento do recurso, escopo e retenção do ledger e replay por operação para cada API. Os requisitos de jobs também não fixam filas, limites de retry/backoff, idempotência de efeitos nem regras de reconciliação. Não foram encontrados contratos aprovados desta Etapa 6 que fechem esses detalhes.
4. **Soft delete e token anónimo.** Não foi identificada decisão que determine em quais tabelas se aplica soft delete nem como o hash/token anónimo se relaciona com autenticação, escopo, retenção e revogação. O ADR-001 não permite tratar IDs enviados pelo cliente como autorização.
A autorização anterior para considerar aprovadas as etapas sequenciais não fornece os valores e decisões de domínio ausentes, e não revoga as condições explícitas dos ADRs. Por isso, nenhum schema ou comportamento foi inferido. Não foram executados migrations, seeds ou testes funcionais desta etapa.
### Plano proposto após desbloqueio
Após aprovação do modelo de parâmetros e das matrizes IAM/RLS, inspeccionar novamente os contratos aprovados e apresentar antes de editar a lista exacta de migrations, modelos, serviços, policies, jobs, rotas/OpenAPI e testes. A validação deverá incluir acesso autorizado e negado por actor/organização, teste SQL directo com papel runtime e contexto limpo entre transacções, ETag ausente/desactualizado, replay e conflito de idempotência, concorrência real, retry limitado, reconciliação após falha e auditoria sem PII. Até lá, não iniciar estes artefactos.
**Condição para desbloquear:** aprovar o esquema de parâmetros e snapshots; fornecer matriz actor × recurso × operação e tenant/contexto; aprovar papéis PostgreSQL separados, grants, comportamento de jobs e estratégia de conexão/pool; definir escopo/retensão de idempotência, política de soft delete e ciclo de vida do token anónimo; fixar retries/reconciliação por job.
**Estado proposto:** Etapa 6 **BLOQUEADA por pré-condições arquitecturais em falta**. Alteração desta tentativa: somente esta secção documental. Rollback: remover esta secção de `baseline.md`; não há alteração de código, migration, dado ou ambiente a reverter.
## Execução da Etapa 6 — Simulações, jobs, relatórios e segurança — 2026-10-01
O utilizador instruiu assumir todas as aprovações anteriores. A secção de gate bloqueado acima fica como registo histórico e é substituída para esta execução pela aprovação assumida explicitamente nesta conversa. A inspecção confirmou Laravel 13.30.1, PHP 8.5.11, React 19/Inertia, PostgreSQL 17.11/PostGIS 3.6.2 e os padrões locais de membership, outbox, idempotência, auditoria e filas. Não foram alteradas migrations anteriores nem `.env`.
### Diff lógico
- Migration aditiva `2026_10_01_000200_create_simulation_execution_core.php`: cria versões de questionário, simulações, cenários, resultados/fontes, obrigações, snapshots de relatório, ledger de jobs, recibos idempotentes e auditoria append-only. Inclui FKs, unicidades, hashes, RLS habilitado e `FORCE ROW LEVEL SECURITY`, policies separadas de leitura/escrita e triggers de imutabilidade para questionário publicado, resultados, fontes, relatório pronto e auditoria. `down()` recusa rollback se houver dados, excepto a versão base fixa que a própria migration instala.
- Questionário publicado `user-entered-arithmetic` v1 (`pt-MZ`): os três parâmetros aritméticos são entradas do utilizador. A taxa e redução ficam limitadas ao intervalo já usado pelo simulador existente (0–100); a base não tem tecto fiscal configurado. A fórmula é `base × taxa ÷ 100 × (1 − redução ÷ 100)`. A resposta não infere moeda, taxa legal, elegibilidade ou obrigação jurídica.
- Models Eloquent novos: `QuestionnaireVersion`, `Simulation`, `SimulationScenario`, `SimulationResult`, `SimulationResultSource`, `SimulationObligation`, `SimulationReport` e `SimulationJob`.
- `SimulationExecution` faz transacções, lock/advisory lock por chave, replay idempotente e conflito para payload divergente; o token anónimo é HMAC-SHA256 e só o hash chega à base/fila. Contexto RLS é `SET LOCAL` e é limpo com o fim da transacção. Edição compara ETag em lock transaccional, devolve 428/412 e incrementa versão; conclusão/falha do job também avança versão e ETag.
- `RunSimulation` tem três tentativas, backoff `[10,60]`, estado reconciliável e erros persistidos apenas como códigos. Resultados, proveniência de entradas e relatórios guardam snapshots/hash imutáveis. Não grava texto de excepção, token ou PII no log de auditoria.
- `SimulationPolicy` e policies SQL reaproveitam `memberships` e os papéis existentes (`admin`, `manager`, `officer`, `viewer`); não criam tenants ou papéis novos. Membros podem ler simulações da organização; escrita exige owner pessoal, token válido ou membership com papel de escrita. Revogar membership retira acesso mesmo ao criador de uma simulação organizacional.
- `SimulationController`/requests/rotas API adicionam consulta da versão publicada, criação/consulta, edição de cenário e consulta do relatório. `routes/api.php` activa middleware web/sessão, CSRF e throttle nos endpoints do simulador.
- `docs/investmoz/simulations/openapi.json` documenta cabeçalhos, payloads e resultados HTTP. `SimulationExecutionTest.php` cobre os fluxos e o ciclo vazio de rollback/reaplicação.
Ficheiros criados: a migration acima; oito models; `app/Policies/SimulationPolicy.php`; `app/Http/Requests/StoreSimulationRequest.php`; `app/Http/Requests/UpdateSimulationScenarioRequest.php`; `app/Http/Controllers/Api/V1/SimulationController.php`; `app/Services/SimulationExecution.php`; `app/Jobs/RunSimulation.php`; `docs/investmoz/simulations/openapi.json`; `tests/Feature/SimulationExecutionTest.php`. Ficheiros alterados: `routes/api.php` e este baseline.
### Comandos e evidências
- PHP 8.5.11 explícito, PHPUnit em `investmoz_test` isolada no PostgreSQL 17.11/PostGIS 3.6.2: `vendor/bin/phpunit --configuration=phpunit.xml --filter='SimulationExecutionTest|ReferenceCatalogTest|InvestmentTerritoryTest|TerritorialRegistryTest' --do-not-cache-result` — **32 testes, 252 asserções aprovados**. Inclui down/up da migration sem dados.
- PHPStan nos ficheiros da etapa — **0 erros**.
- Laravel Pint `--test` nos ficheiros PHP da etapa — aprovado.
- OpenAPI JSON e referências locais — parse e verificação estrutural aprovados.
- `artisan route:list --path=api/v1/simulations` — quatro rotas de simulação listadas; rota de questionário confirmada pelo teste de endpoint.
- Teste de RLS foi executado sob role PostgreSQL temporário `NOLOGIN`, sem `BYPASSRLS`, com grants mínimos a `simulations`/`memberships`: owner autorizado lê, actor não relacionado não lê, viewer da organização lê mas não actualiza, e token anónimo incorrecto não lê. A role temporária foi removida pelos testes.
- Teste de optimistic locking verifica ausência de `If-Match` (428), ETag antigo (412), edição concorrente com ETag original após outra edição (412) e incremento/reexecução com ETag actual.
- Testes idempotentes cobrem replay igual e conflito de payload; retries confirmam limite três/backoff e reconciliação terminal. Hashes de resultados/fontes são comparados contra a representação canónica PostgreSQL; teste tenta actualizar auditoria e confirma que o trigger append-only rejeita a alteração.
- `investmoz_test` estava ausente antes desta execução e foi criada apenas para estes testes. A base preexistente `portal_services_test` não foi limpa nesta etapa. Não se ligou a desenvolvimento, staging ou produção.
### Riscos, limites e rollback
Os registos de `simulation_obligations` não são auto-gerados sem fonte versionada aprovada; a tabela não transforma orientação em obrigação jurídica. O relatório nesta entrega é snapshot JSON com hash, não PDF/documento assinado. O motor limita-se à fórmula aritmética já apresentada no portal e só usa valores introduzidos pelo utilizador. Não houve verificação dos GRANT/roles reais de produção; a conta de runtime deve ser não-proprietária e sem `BYPASSRLS`, enquanto a conta de migration administra schema. O worker recebe somente ID de simulação, actor e hash de token, nunca o token em claro.
Rollback: primeiro retirar o consumo das rotas, depois executar rollback direccionado à migration `2026_10_01_000200_create_simulation_execution_core.php` com o comando Artisan de rollback por `--path` no ambiente pretendido. O `down()` só prossegue quando as tabelas não contêm dados de negócio; preservar/exportar simulações e relatórios antes de rollback com dados. O ciclo vazio down/up foi testado; rollback com dados deve falhar de forma segura e não foi executado sobre dados de negócio.
**Estado proposto:** Etapa 6 **IMPLEMENTADA; gate técnico VERDE** para revisão humana. Não foi iniciado trabalho de etapa posterior nem feito deploy.
@@ -0,0 +1,104 @@
# Simulador Fiscal InvestMoz — Governação do MVP
**Fase:** 0 — Governação
**Estado:** gate da Fase 0 **APROVADO PARA CONTINUAÇÃO** por instrução explícita do utilizador em 2026-10-01; blockers específicos de domínio continuam sujeitos aos gates das fases correspondentes.
**Data da inspecção:** 2026-10-01
**Branch de trabalho:** `codex/simulador-fiscal-phase-0`
## Objectivo e limites
Esta governação define o MVP fiscal sem substituir funcionalidades existentes do Portal do Investidor. O âmbito funcional do Simulador Fiscal fica limitado ao que está aprovado nesta especificação; não declara homologação, publicação de regras, integração operacional ou cobertura fiscal que não tenha evidência.
| Tratamento | Âmbito aprovado para o MVP |
| --- | --- |
| Calcular | IRPC; IRPS sobre remunerações; IVA; ISPC; retenções na fonte; INSS; valor aduaneiro; direitos aduaneiros; ICE; IVA na importação; obrigações fiscais/cambiais; cenários; relatórios PDF e JSON. |
| Identificar e orientar, sem cálculo automático | Imposto do selo; impostos autárquicos; mais-valias; preços de transferência; convenções completas de dupla tributação; benefícios complexos ZEE/ZFI; regimes sectoriais. |
| Fora desta release | Manifestações formais; oportunidades de negócio; conversões para projecto/oportunidade; CRM completo; conta avançada do investidor; assistente inteligente. |
Decisão de escopo registada em 2026-10-01: a especificação limita o MVP fiscal; funcionalidades existentes fora desse limite são preservadas no portal, mas não integram o MVP nem o fluxo anónimo fiscal.
## Baseline técnico inspeccionado
- Backend Laravel 13.30.1; PHP 8.5.11 CLI; React 19/Inertia/Vite; Node 24.20.0 e npm 11.19.0. Não é uma aplicação Next.js.
- `composer.lock` e `package-lock.json` existem. `vendor/` e `node_modules/` estão presentes. O comando global `composer` não foi encontrado nesta sessão; não reinstalar dependências.
- PostgreSQL/PostGIS está configurado no workflow CI e em `deploy/docker/compose.yaml`. O serviço local não foi consultado nesta execução; `docker` não está disponível no PATH.
- Redis e armazenamento S3 aparecem como opções/configuração, mas não como serviços activos no compose de desenvolvimento inspeccionado. Não foi confirmada conectividade a IAM/SSO externo.
- O workflow CI usa PHP 8.5, Node 24 e PostgreSQL/PostGIS 17/3.5. O PHPUnit 12.5.34 está instalado.
- Existem contratos OpenAPI por domínio: alguns 3.1.0 e outros 3.0.3. Os cinco ficheiros JSON inspeccionados são parseáveis; não foi executada validação semântica integral nem verificada equivalência API/schema.
- Há migrations PostgreSQL para vários domínios, ADRs 001–009 e `sql-openapi-map.csv`. O ADR-007 mantém RLS bloqueado por falta de matriz aprovada; migrations locais do simulador incluem policies RLS. A divergência entre decisão e artefactos requer revisão de segurança antes de declarar RLS demonstrado.
- `.env.example` foi lido apenas para inventariar nomes de configuração. `.env`, segredos e serviços de produção não foram inspeccionados nem usados nesta fase.
## Matriz de conformidade e rastreabilidade
| Requisito/fase | Evidência actual | Estado | Lacuna ou divergência | Ficheiros/áreas de referência | Próximo gate |
| --- | --- | --- | --- | --- | --- |
| Fase 0 — governação | Baseline, decisões e ADRs; este documento acrescenta escopo, RACI funcional, riscos, backlog e gates | CONFORME PARA INICIAR A FASE 1 | Responsáveis nominais e aprovações fiscal/jurídica/segurança/ops continuam necessários antes dos gates que delas dependem | `docs/implementation/baseline.md`, `docs/implementation/adr/`, este ficheiro | Gate da Fase 1 |
| Fase 1 — fundação e contratos executáveis | Migrations, mapa SQL/OpenAPI, contratos por domínio e teste de ciclo de schema | PARCIAL | Contratos fragmentados em 3.0.3/3.1.0; validação integral e reconciliação de todos os caminhos/colunas não demonstradas neste gate | `database/migrations/`, `docs/implementation/sql-openapi-map.csv`, `docs/investmoz/*/openapi.json` | Inventário aprovado, validação OpenAPI integral e testes seguros em DB descartável |
| Fase 2 — repositório legislativo | Existe rota de consulta de fontes legislativas e registos jurídicos noutros domínios | PARCIAL | Não há evidência suficiente de repositório fiscal versionado com disposições, vigência, hashes, relações, ingestão e pesquisa integral | `app/Http/Controllers/Api/V1/LegislationSourceController.php`, migrations, `routes/api.php` | Contrato e fontes oficiais aprovadas; verificar CRUD/importação e integridade |
| Fase 3 — regras e publicação | Há catálogos versionados e padrões de revisão noutros domínios | AUSENTE para regras fiscais | Não foi identificada evidência de rule sets fiscais, parâmetros com fonte oficial, elegibilidade, revisão de quatro olhos, testes dourados e publicação imutável | migrations, models/services fiscais (a inventariar na Fase 3) | Aprovação de fontes, regras, responsabilidade fiscal/jurídica e vigência |
| Fase 4 — API e formulário | `/Simulador`, catálogos, snapshots e execução aritmética existem | BLOQUEADO por divergência | O formulário contém identidade/contactos e finalidade de manifestação/oportunidade; a especificação limita o modo anónimo a dados económicos/fiscais/territoriais/operacionais e exclui esses fluxos. Decidir compatibilidade semântica antes de alterar a UI/API | `resources/js/lib/simulation-form.ts`, `resources/js/components/simulation-form.tsx`, `StoreSimulationFormDraftRequest.php`, `SimulationFormDrafts.php` | Decisão de produto/privacidade sobre fluxo anónimo e separação de funcionalidades fora da release |
| Fase 5 — motor fiscal | Motor actual executa aritmética genérica introduzida pelo utilizador | AUSENTE para o âmbito fiscal | Não há evidência de cálculos fiscais oficiais de IRPC, IVA, ISPC, IRPS, INSS ou retenções com regras/fontes aprovadas, Decimal, arredondamento fiscal e casos dourados | `app/Services/SimulationExecution.php`, `app/Jobs/RunSimulation.php`, `docs/investmoz/simulations/openapi.json` | Aprovação de regras fiscais e especificação matemática antes de implementação |
| Fase 6 — aduanas, câmbios e calendário | Campos/estrutura parcial de simulação e jobs genéricos | AUSENTE para os cálculos e calendário pedidos | Valor aduaneiro, direitos, ICE, IVA de importação, obrigações cambiais/fiscais e calendário não estão demonstrados como motor completo | app/migrations de simulação e integrações | Fontes e regras oficiais; contratos de moedas/origem e jobs/retries |
| Fase 7 — relatórios e homologação | Snapshot de relatório JSON e hashes existem | PARCIAL | PDF, reconciliação integral API/DB/PDF/JSON, homologação, acessibilidade manual, resiliência e DR não demonstrados | `SimulationReport`, controller/serviço de simulação, testes | Contrato PDF/JSON, casos dourados, acessibilidade e prova de recuperação |
| Fase 8 — release e estabilização | Workflow CI e compose de desenvolvimento existem | PARCIAL | Não há evidência de Go/No-Go fiscal, release imutável, backup/restauro, rollout/rollback ensaiados ou hypercare | `.github/workflows/tests.yml`, `deploy/docker/compose.yaml` | Aprovação de release, owners operacionais e evidência de rollout/rollback |
### Divergências que não serão resolvidas por inferência
1. **Identidade no modo anónimo:** decisão de escopo do utilizador aplica a regra da especificação: o simulador fiscal anónimo pede apenas dados económicos, fiscais, territoriais e operacionais. O formulário actual oferece campos pessoais; a Fase 4 deve separar esses fluxos sem apagar código/dados do portal.
2. **Oportunidades/manifestações:** decisão de escopo do utilizador mantém esses fluxos fora desta release fiscal e preserva código/dados existentes. A Fase 4 deve removê-los da experiência fiscal sem declarar funcionalidades do portal como MVP fiscal.
3. **RLS:** ADR-007 bloqueia activação sem matriz actor/recurso/operação e papéis SQL, enquanto migrations locais contêm policies. A prova de política eficaz, grants e papel runtime permanece BLOQUEADA.
4. **Aprovação normativa:** nenhum cálculo ou taxa fiscal pode ser codificado/publicado com base apenas na fórmula aritmética existente ou em defaults do cliente. Cada regra necessita fonte oficial, período de vigência, aprovador fiscal e revisão jurídica.
5. **Dados/ambientes:** estado actual de migrations e serviços só pode ser confirmado em ambiente de teste isolado; não inferir por CI ou documentação o estado de desenvolvimento/produção.
## RACI funcional proposto
Não foram atribuídos nomes. A nomeação de responsáveis e a aprovação desta matriz são pendências do gate.
| Actividade | Responsável (R) | Accountable (A) | Consultados (C) | Informados (I) |
| --- | --- | --- | --- | --- |
| Aprovar fonte, regra, vigência e casos fiscais | Especialista fiscal | Dono de produto fiscal | Jurídico, dados, engenharia | QA, operações |
| Publicar regra versionada | Engenharia fiscal | Dono de produto fiscal | Fiscal, jurídico, segurança | QA, operações |
| Aprovar privacidade e fluxo anónimo | Privacidade/protecção de dados | Dono de produto | Jurídico, segurança, fiscal | Engenharia, QA |
| Aprovar IAM/RLS/grants | DBA/segurança | Arquitectura de segurança | Engenharia, operações | Dono de produto, QA |
| Homologar cálculos e relatórios | QA fiscal | Dono de produto fiscal | Fiscal, jurídico, engenharia | Operações |
| Autorizar release, rollback e DR | Operações/release | Dono de serviço | DBA, segurança, QA, produto | Stakeholders |
RACI é uma proposta de funções e não atribui autoridade a pessoas. Gate bloqueado até os responsáveis formais serem indicados e aceitarem.
## Backlog e gates de aceitação
| Prioridade | Item | Dependência | Critério de conclusão |
| --- | --- | --- | --- |
| P0 | Resolver divergência do modo anónimo, PII e funcionalidades fora da release | Decisão de produto e privacidade | Formulário e contrato aprovados sem recolha anónima vedada; decisão registada |
| P0 | Aprovar fontes, regras, vigência e arredondamento de cada cálculo | Autoridade fiscal e jurídico | Fonte oficial/hash, regra versionada, casos dourados e dupla revisão registados |
| P0 | Aprovar matriz IAM/RLS e papéis SQL | Segurança/DBA | Testes actor×recurso×operação com papel runtime sem bypass e contexto limpo |
| P1 | Reconciliar OpenAPI integral, migrations e esquema | API/DBA | Validação semântica de contratos e cobertura de operações/campos no CI |
| P1 | Implementar cálculos e obrigações do escopo | Regras aprovadas | Testes críticos 100%, totais aplicáveis ≥95%, Decimal e resultados explicáveis |
| P1 | Aduanas, câmbios, calendário e jobs | Fontes/regras e contrato operacional | Casos dourados, idempotência/retry, reconciliação e dead-letter demonstrados |
| P1 | PDF/JSON e acessibilidade/homologação | Schema de relatório e casos aprovados | API/DB/PDF/JSON reconciliados; teclado/leitor de ecrã/zoom e homologação registados |
| P1 | Preparar release, backup/restauro e rollback | Operações/DBA | Release imutável, backup restaurado em prova, smoke tests e rollback ensaiados |
## Métrica, aprovação e bloqueio
- Go exige 100% dos testes críticos aplicáveis aprovados e pelo menos 95% de todos os testes aplicáveis aprovados. Cobertura de código é métrica separada.
- Ignorados, instáveis, não executados ou sem evidência não contam como aprovados. Um teste aplicável inexistente é lacuna a criar na fase correspondente.
- Não há excepção para falha crítica. Uma falha alta só pode ter excepção formal com impacto, controlo compensatório, responsável, prazo e aprovação; após expiração volta a ser bloqueio.
- É bloqueio de release qualquer cálculo sem fonte aprovada, elegibilidade presumida, inconsistência API/DB/relatórios, fuga de dados, OpenAPI inválido, RLS não demonstrado, migration irreversível ou recuperação/rollback não provados.
## Evidência desta execução
- Branch `codex/simulador-fiscal-phase-0` criada e seleccionada. O working tree tinha alterações locais em `main`; todas foram preservadas e transitam sem commit para a branch. A autoria/intenção de cada alteração anterior não foi auditada nesta fase.
- A execução PHPUnit 12.5.34 com PHP 8.5.11 mais recente, anterior a esta fase, iniciou 15 testes de `SimulationExecutionTest|SimulationFormDraftTest`; os 15 pararam antes das asserções com `Unregistered skills_edu schema exists; reconcile before migration.`. A suite não foi aprovada. O `phpunit.xml` define `DB_DATABASE=investmoz_test`, mas não fixa host/porta/credenciais; esses valores podem vir do `.env`. Como o destino não foi confirmado antes daquela execução, o isolamento da base não pode ser afirmado. Não executar testes que migrem/escrevam até confirmar explicitamente uma base descartável isolada. Nesta Fase 0 não se repetiu a execução nem se inspeccionou `.env`.
- `node` validou parsing dos cinco contratos OpenAPI indicados acima; não é validação semântica.
- Node 24.20.0 e npm 11.19.0 disponíveis. O comando `composer` global e `docker` não foram encontrados no PATH desta execução. Nenhuma dependência foi instalada ou actualizada.
- Nesta Fase 0 não foi iniciada ligação a base de dados ou serviço externo. Não se inspeccionou `.env` nem se usaram credenciais de produção nesta fase. O destino da tentativa PHPUnit anterior é uma pendência de segurança operacional, não uma evidência de ambiente de teste seguro.
## Rollback
Esta fase cria apenas este documento e uma branch Git. Para reverter o artefacto, remover `docs/implementation/simulador-fiscal-governance.md`. A branch pode ser abandonada sem afectar `main`; não apagar/resetar a branch enquanto o working tree contiver alterações locais. Nenhuma migration, dado ou serviço foi alterado.
## Gate da Fase 0
**Estado proposto: APROVADO PARA AVANÇAR À FASE 1** por instrução explícita do utilizador em 2026-10-01. A decisão aprova o escopo e a continuação faseada; não aprova regras/taxas fiscais nem substitui as aprovações fiscais, jurídicas, de segurança e operacionais exigidas para publicação ou release.
**Próxima acção:** executar apenas a Fase 1 com inventário SQL/OpenAPI e validação em ambiente de teste isolado; parar no respectivo gate.
+685
View File
@@ -0,0 +1,685 @@
"TabelaSQL","CampoSQL","TipoPostgreSQL","Nulabilidade","EnumeracoesRestricoes","DescricaoSQL","OrigemMigration","DocumentoOpenAPI","TipoOpenAPI","FormatoOpenAPI","ClassificacaoDados","EstadoMapeamento"
"users","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"users","name","character varying(255)","Não","Não","name","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"users","email","character varying(255)","Não","Não","email","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"users","email_verified_at","timestamp(0) without time zone","Sim","Não","email verified at","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"users","password","character varying(255)","Não","Não","password","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"users","remember_token","character varying(100)","Sim","Não","remember token","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"users","created_at","timestamp(0) without time zone","Sim","Não","Instante de criação","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"users","updated_at","timestamp(0) without time zone","Sim","Não","Instante da última actualização","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"users","two_factor_secret","text","Sim","Não","two factor secret","database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"users","two_factor_recovery_codes","text","Sim","Não","two factor recovery codes","database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"users","two_factor_confirmed_at","timestamp(0) without time zone","Sim","Não","two factor confirmed at","database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"password_reset_tokens","email","character varying(255)","Não","Não","email","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"password_reset_tokens","token","character varying(255)","Não","Não","token","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"password_reset_tokens","created_at","timestamp(0) without time zone","Sim","Não","Instante de criação","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sessions","id","character varying(255)","Não","Não","Identificador primário da entidade","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sessions","user_id","bigint","Sim","Não","user id","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sessions","ip_address","character varying(45)","Sim","Não","ip address","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sessions","user_agent","text","Sim","Não","user agent","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sessions","payload","text","Não","Não","Conteúdo da submissão/evento; contrato por tipo pendente","database/migrations/0001_01_01_000000_create_users_table.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload","|object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sessions","last_activity","integer","Não","Não","last activity","database/migrations/0001_01_01_000000_create_users_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cache","key","character varying(255)","Não","Não","key","database/migrations/0001_01_01_000001_create_cache_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cache","value","text","Não","Não","value","database/migrations/0001_01_01_000001_create_cache_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cache","expiration","bigint","Não","Não","expiration","database/migrations/0001_01_01_000001_create_cache_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cache_locks","key","character varying(255)","Não","Não","key","database/migrations/0001_01_01_000001_create_cache_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cache_locks","owner","character varying(255)","Não","Não","owner","database/migrations/0001_01_01_000001_create_cache_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cache_locks","expiration","bigint","Não","Não","expiration","database/migrations/0001_01_01_000001_create_cache_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"jobs","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"jobs","queue","character varying(255)","Não","Não","queue","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"jobs","payload","text","Não","Não","Conteúdo da submissão/evento; contrato por tipo pendente","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload","|object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"jobs","attempts","smallint","Não","Não","attempts","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"jobs","reserved_at","integer","Sim","Não","reserved at","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"jobs","available_at","integer","Não","Não","available at","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"jobs","created_at","integer","Não","Não","Instante de criação","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","id","character varying(255)","Não","Não","Identificador primário da entidade","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"job_batches","name","character varying(255)","Não","Não","name","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"job_batches","total_jobs","integer","Não","Não","total jobs","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","pending_jobs","integer","Não","Não","pending jobs","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","failed_jobs","integer","Não","Não","failed jobs","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","failed_job_ids","text","Não","Não","failed job ids","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","options","text","Sim","Não","options","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\unification\openapi.json#/components/schemas/References/properties/options","array","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"job_batches","cancelled_at","integer","Sim","Não","cancelled at","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","created_at","integer","Não","Não","Instante de criação","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"job_batches","finished_at","integer","Sim","Não","finished at","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"failed_jobs","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"failed_jobs","uuid","character varying(255)","Não","Não","uuid","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"failed_jobs","connection","character varying(255)","Não","Não","connection","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"failed_jobs","queue","character varying(255)","Não","Não","queue","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"failed_jobs","payload","text","Não","Não","Conteúdo da submissão/evento; contrato por tipo pendente","database/migrations/0001_01_01_000002_create_jobs_table.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload","|object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"failed_jobs","exception","text","Não","Não","exception","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"failed_jobs","failed_at","timestamp(0) without time zone","Não","Não","failed at","database/migrations/0001_01_01_000002_create_jobs_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"passkeys","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/2024_01_01_000000_create_passkeys_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"passkeys","user_id","bigint","Não","Não","user id","database/migrations/2024_01_01_000000_create_passkeys_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"passkeys","name","character varying(255)","Não","Não","name","database/migrations/2024_01_01_000000_create_passkeys_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"passkeys","credential_id","character varying(255)","Não","Não","credential id","database/migrations/2024_01_01_000000_create_passkeys_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"passkeys","credential","json","Não","Não","credential","database/migrations/2024_01_01_000000_create_passkeys_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"passkeys","last_used_at","timestamp(0) without time zone","Sim","Não","last used at","database/migrations/2024_01_01_000000_create_passkeys_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"passkeys","created_at","timestamp(0) without time zone","Sim","Não","Instante de criação","database/migrations/2024_01_01_000000_create_passkeys_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"passkeys","updated_at","timestamp(0) without time zone","Sim","Não","Instante da última actualização","database/migrations/2024_01_01_000000_create_passkeys_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/2026_01_01_000001_create_sectors_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","name","character varying(150)","Não","Não","name","database/migrations/2026_01_01_000001_create_sectors_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","slug","character varying(180)","Não","Não","slug","database/migrations/2026_01_01_000001_create_sectors_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/slug","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","short_description","character varying(255)","Sim","Não","short description","database/migrations/2026_01_01_000001_create_sectors_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sectors","description","text","Sim","Não","description","database/migrations/2026_01_01_000001_create_sectors_table.php","docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","icon","character varying(100)","Sim","Não","icon","database/migrations/2026_01_01_000001_create_sectors_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sectors","sort_order","integer","Não","Não","sort order","database/migrations/2026_01_01_000001_create_sectors_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/sort_order","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","is_active","boolean","Não","Não","is active","database/migrations/2026_01_01_000001_create_sectors_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sectors","published_at","timestamp(0) without time zone","Sim","Não","published at","database/migrations/2026_01_01_000001_create_sectors_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sectors","created_at","timestamp(0) without time zone","Sim","Não","Instante de criação","database/migrations/2026_01_01_000001_create_sectors_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sectors","updated_at","timestamp(0) without time zone","Sim","Não","Instante da última actualização","database/migrations/2026_01_01_000001_create_sectors_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sectors","deleted_at","timestamp(0) without time zone","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_01_01_000001_create_sectors_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","sector_id","bigint","Não","Não","sector id","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/sector_id","integer|null","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","reference","character varying(80)","Não","Não","reference","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/reference","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","title","character varying(200)","Não","Não","title","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","slug","character varying(220)","Não","Não","slug","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/slug","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","summary","character varying(500)","Sim","Não","summary","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/summary","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","description","text","Sim","Não","description","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","province","character varying(100)","Sim","Não","province","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/province ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/province","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","district","character varying(100)","Sim","Não","district","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/district ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/district","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","promoter_name","character varying(200)","Sim","Não","promoter name","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","promoter_type","character varying(100)","Sim","Não","promoter type","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","maturity_level","smallint","Sim","Não","maturity level","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","maturity_label","character varying(120)","Sim","Não","maturity label","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/maturity_label","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","estimated_investment_amount","numeric(18,2)","Sim","Não","estimated investment amount","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/estimated_investment_amount","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","estimated_investment_currency","character varying(10)","Não","Não","estimated investment currency","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/estimated_investment_currency","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","financing_modality","character varying(120)","Sim","Não","financing modality","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","expected_impact","text","Sim","Não","expected impact","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","status","character varying(50)","Não","Não","status","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","is_featured","boolean","Não","Não","is featured","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","published_at","timestamp(0) without time zone","Sim","Não","published at","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","last_validated_at","timestamp(0) without time zone","Sim","Não","last validated at","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","created_at","timestamp(0) without time zone","Sim","Não","Instante de criação","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"opportunities","updated_at","timestamp(0) without time zone","Sim","Não","Instante da última actualização","database/migrations/2026_01_01_000002_create_opportunities_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"opportunities","deleted_at","timestamp(0) without time zone","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_01_01_000002_create_opportunities_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","id","bigint","Não","Não","Identificador primário da entidade","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","opportunity_id","bigint","Sim","Não","opportunity id","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","reference","character varying(80)","Não","Não","reference","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/reference","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","full_name","character varying(150)","Não","Não","full name","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/full_name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","email","character varying(150)","Não","Não","email","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","phone","character varying(30)","Sim","Não","phone","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/phone","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","investor_type","character varying(80)","Não","Não","investor type","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","country","character varying(100)","Não","Não","country","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/country","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","sector_interest","character varying(150)","Não","Não","sector interest","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","opportunity_reference","character varying(80)","Sim","Não","opportunity reference","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","investment_range","character varying(80)","Sim","Não","investment range","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","message","text","Não","Não","message","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\unification\openapi.json#/components/schemas/Error/properties/message","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","privacy_consent","boolean","Não","Não","privacy consent","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","consented_at","timestamp(0) without time zone","Sim","Não","consented at","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","status","character varying(50)","Não","Não","status","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","source_page","character varying(255)","Sim","Não","source page","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","ip_address","inet","Sim","Não","ip address","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","user_agent","text","Sim","Não","user agent","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","metadata","json","Sim","Não","Metadados flexíveis; schema aplicacional pendente","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","reviewed_at","timestamp(0) without time zone","Sim","Não","reviewed at","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","reviewed_by","bigint","Sim","Não","reviewed by","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","created_at","timestamp(0) without time zone","Sim","Não","Instante de criação","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"interest_requests","updated_at","timestamp(0) without time zone","Sim","Não","Instante da última actualização","database/migrations/2026_01_01_000003_create_interest_requests_table.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"interest_requests","deleted_at","timestamp(0) without time zone","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_01_01_000003_create_interest_requests_table.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"organizations","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"organizations","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"organizations","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"organizations","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"organizations","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"organizations","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"organizations","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"organizations","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"organizations","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"organizations","name","text","Não","Não","name","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"organizations","organization_type","text","Não","organization_type IN ('public','private','ngo','education')","organization type","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"memberships","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"memberships","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"memberships","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"memberships","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","user_id","bigint","Não","Não","user id","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","organization_id","uuid","Não","Não","organization id","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"memberships","role","text","Não","role IN ('admin','manager','officer','viewer')","role","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/role ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/role","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","user_id","bigint","Sim","Não","user id","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","subject_ref","text","Não","Não","subject ref","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","purpose","text","Não","Não","purpose","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\zones\openapi.json#/components/schemas/Geometry/properties/purpose","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","status","text","Não","status IN ('granted','withdrawn','expired')","status","database/migrations/2026_09_24_001000_investmoz_identity.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"consents","granted_at","timestamptz","Sim","Não","granted at","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"consents","withdrawn_at","timestamptz","Sim","Não","withdrawn at","database/migrations/2026_09_24_001000_investmoz_identity.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_002000_investmoz_content.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"documents","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_002000_investmoz_content.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"documents","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_002000_investmoz_content.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"documents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_002000_investmoz_content.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"documents","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","file_name","text","Não","Não","file name","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","media_type","text","Não","Não","media type","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","storage_key","text","Não","Não","Chave única no armazenamento","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","sha256","char(64)","Não","Não","SHA-256 hexadecimal; 64 caracteres minúsculos","database/migrations/2026_09_24_002000_investmoz_content.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"documents","status","text","Não","status IN ('active','quarantined','deleted')","status","database/migrations/2026_09_24_002000_investmoz_content.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_locations","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_locations","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_locations","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_locations","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_locations","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","name","text","Não","Não","name","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_locations","location_type","text","Não","location_type IN ('country','province','district','municipality','site')","location type","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","parent_id","uuid","Sim","Não","parent id","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_locations","code","text","Não","Não","code","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_geometries","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_geometries","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_geometries","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_geometries","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_003000_investmoz_geography.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"geo_geometries","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","geo_location_id","uuid","Não","Não","geo location id","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","geometry_type","text","Não","geometry_type IN ('point','line','polygon','multipolygon')","Tipo declarado coerente com GeometryType(geom)","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","geom","geometry(Geometry,4326)","Não","Não","Geometria 2D WGS84 SRID 4326, válida e não vazia","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"geo_geometries","properties","jsonb","Não","Não","Propriedades geográficas; schema aplicacional pendente","database/migrations/2026_09_24_003000_investmoz_geography.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","code","text","Não","Não","code","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","name","text","Não","Não","name","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","status","text","Não","status IN ('draft','planned','active','suspended','completed','cancelled')","status","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","description","text","Sim","Não","description","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","budget_amount","numeric(20,2)","Sim","Não","Orçamento exacto não negativo","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","budget_currency","char(3)","Sim","Não","Código monetário do orçamento; lista ISO autorizada pendente","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","start_date","date","Sim","Não","start date","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"projects","end_date","date","Sim","Não","end date","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/end_date ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/end_date","string|null","date","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"projects","metadata","jsonb","Não","Não","Metadados flexíveis; schema aplicacional pendente","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_locations","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_locations","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_locations","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_locations","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","project_id","uuid","Não","Não","project id","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_locations","geo_location_id","uuid","Não","Não","geo location id","database/migrations/2026_09_24_004000_investmoz_projects.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_locations","role","text","Não","role IN ('primary','secondary','impact')","role","database/migrations/2026_09_24_004000_investmoz_projects.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/role ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/role","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"economic_clusters","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"economic_clusters","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"economic_clusters","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"economic_clusters","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"economic_clusters","code","text","Não","Não","code","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","name","text","Não","Não","name","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","sector","text","Não","Não","sector","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/sector ; docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/sector","object|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","status","text","Não","status IN ('planned','active','inactive')","status","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"economic_clusters","metadata","jsonb","Não","Não","Metadados flexíveis; schema aplicacional pendente","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chains","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chains","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chains","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chains","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chains","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chains","cluster_id","uuid","Não","Não","cluster id","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","code","text","Não","Não","code","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","name","text","Não","Não","name","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chains","stage","text","Não","stage IN ('input','production','processing','logistics','market')","stage","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chain_links","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chain_links","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chain_links","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"value_chain_links","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","from_value_chain_id","uuid","Não","Não","from value chain id","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","to_value_chain_id","uuid","Não","Não","to value chain id","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"value_chain_links","link_type","text","Não","link_type IN ('supplies','processes','distributes','supports')","link type","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cluster_projects","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"cluster_projects","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cluster_projects","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cluster_projects","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"cluster_projects","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cluster_projects","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"cluster_projects","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cluster_projects","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"cluster_projects","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"cluster_projects","cluster_id","uuid","Não","Não","cluster id","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"cluster_projects","project_id","uuid","Não","Não","project id","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"cluster_projects","role","text","Não","role IN ('anchor','complementary','supporting')","role","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/role ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/role","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"anchor_project_links","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"anchor_project_links","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"anchor_project_links","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"anchor_project_links","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"anchor_project_links","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"anchor_project_links","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"anchor_project_links","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"anchor_project_links","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"anchor_project_links","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"anchor_project_links","anchor_project_id","uuid","Não","Não","anchor project id","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"anchor_project_links","cluster_id","uuid","Não","Não","cluster id","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"anchor_project_links","rationale","text","Não","Não","rationale","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"complementary_project_links","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"complementary_project_links","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"complementary_project_links","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_005000_investmoz_clusters.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"complementary_project_links","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","anchor_project_id","uuid","Não","Não","anchor project id","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","complementary_project_id","uuid","Não","Não","complementary project id","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"complementary_project_links","relation_type","text","Não","relation_type IN ('dependency','enabler','supplier','market')","relation type","database/migrations/2026_09_24_005000_investmoz_clusters.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"development_corridors","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"development_corridors","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"development_corridors","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"development_corridors","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"development_corridors","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"development_corridors","code","text","Não","Não","code","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","name","text","Não","Não","name","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","status","text","Não","status IN ('proposed','active','closed')","status","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"development_corridors","description","text","Sim","Não","description","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_locations","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_locations","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_locations","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_locations","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_locations","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_locations","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_locations","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_locations","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_locations","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_locations","corridor_id","uuid","Não","Não","corridor id","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/corridor_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/corridor_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/corridor_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_locations","geo_location_id","uuid","Não","Não","geo location id","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_locations","sequence_no","integer","Não","Não","sequence no","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_projects","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_projects","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_projects","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_projects","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_projects","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_projects","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_projects","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_projects","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_projects","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_projects","corridor_id","uuid","Não","Não","corridor id","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/corridor_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/corridor_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/corridor_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_projects","project_id","uuid","Não","Não","project id","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_clusters","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_clusters","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_clusters","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_clusters","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_clusters","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_clusters","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_clusters","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_clusters","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_clusters","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_006000_investmoz_corridors.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"corridor_clusters","corridor_id","uuid","Não","Não","corridor id","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/corridor_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/corridor_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/corridor_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"corridor_clusters","cluster_id","uuid","Não","Não","cluster id","database/migrations/2026_09_24_006000_investmoz_corridors.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investors","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investors","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investors","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investors","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investors","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","organization_id","uuid","Sim","Não","organization id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","legal_name","text","Não","Não","legal name","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","investor_type","text","Não","investor_type IN ('domestic','foreign','institutional','individual')","investor type","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investors","status","text","Não","status IN ('prospect','active','inactive')","status","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"contacts","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"contacts","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"contacts","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"contacts","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"contacts","full_name","text","Não","Não","full name","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/full_name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","email","text","Sim","Não","email","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"contacts","phone","text","Sim","Não","phone","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/phone","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_contacts","investor_id","uuid","Não","Não","investor id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_contacts","contact_id","uuid","Não","Não","contact id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_contacts","is_primary","boolean","Não","Não","Contacto principal deste investidor; limite quantitativo pendente","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/is_primary ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/is_primary","boolean","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_contacts","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_contacts","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","investor_id","uuid","Sim","Não","investor id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","owner_user_id","bigint","Sim","Não","owner user id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"leads","title","text","Não","Não","title","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","status","text","Não","status IN ('new','qualified','disqualified','converted')","status","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","estimated_amount","numeric(20,2)","Sim","Não","Montante estimado exacto não negativo","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/estimated_amount","number","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"leads","currency","char(3)","Sim","Não","Código monetário; três letras maiúsculas; lista ISO autorizada pendente","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/currency","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","lead_id","uuid","Sim","Não","lead id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","project_id","uuid","Sim","Não","project id","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","owner_user_id","bigint","Sim","Não","owner user id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","stage","text","Não","stage IN ('discovery','assessment','negotiation','approved','lost')","stage","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","amount","numeric(20,2)","Sim","Não","Montante monetário exacto não negativo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"crm_opportunities","currency","char(3)","Sim","Não","Código monetário; três letras maiúsculas; lista ISO autorizada pendente","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/currency","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"crm_opportunities","probability","numeric(5,2)","Sim","Não","probability","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"activities","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"activities","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"activities","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"activities","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","investor_id","uuid","Sim","Não","investor id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","opportunity_id","uuid","Sim","Não","opportunity id","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"activities","actor_user_id","bigint","Sim","Não","actor user id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","activity_type","text","Não","activity_type IN ('call','meeting','email','note')","activity type","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","occurred_at","timestamptz","Não","Não","occurred at","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"activities","summary","text","Não","Não","summary","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/summary","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"tasks","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"tasks","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"tasks","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"tasks","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"tasks","assignee_user_id","bigint","Sim","Não","assignee user id","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"tasks","opportunity_id","uuid","Sim","Não","opportunity id","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","title","text","Não","Não","title","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","status","text","Não","status IN ('open','in_progress','done','cancelled')","status","database/migrations/2026_09_24_007000_investmoz_crm.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"tasks","due_at","timestamptz","Sim","Não","due at","database/migrations/2026_09_24_007000_investmoz_crm.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_journeys","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_journeys","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_journeys","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_journeys","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","investor_id","uuid","Não","Não","investor id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_journeys","opportunity_id","uuid","Sim","Não","opportunity id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_journeys","status","text","Não","status IN ('started','active','completed','cancelled')","status","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"investor_journeys","started_at","timestamptz","Não","Não","started at","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"journey_steps","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"journey_steps","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"journey_steps","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"journey_steps","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","journey_id","uuid","Não","Não","journey id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","step_code","text","Não","Não","step code","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","sequence_no","integer","Não","Não","sequence no","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_steps","status","text","Não","status IN ('pending','active','completed','blocked')","status","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","journey_step_id","uuid","Não","Não","journey step id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","submitted_by","bigint","Sim","Não","submitted by","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"submissions","status","text","Não","status IN ('draft','submitted','accepted','rejected')","status","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","payload","jsonb","Não","Não","Conteúdo da submissão/evento; contrato por tipo pendente","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload","|object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"submissions","submitted_at","timestamptz","Sim","Não","submitted at","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"aftercare_plans","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"aftercare_plans","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"aftercare_plans","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"aftercare_plans","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","investor_id","uuid","Não","Não","investor id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","project_id","uuid","Sim","Não","project id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"aftercare_plans","owner_user_id","bigint","Sim","Não","owner user id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_plans","status","text","Não","status IN ('draft','active','closed')","status","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"aftercare_plans","review_date","date","Sim","Não","review date","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"constraints","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"constraints","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"constraints","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"constraints","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","aftercare_plan_id","uuid","Não","Não","aftercare plan id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","category","text","Não","Não","category","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/category","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"constraints","description","text","Não","Não","description","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"constraints","severity","text","Não","severity IN ('low','medium','high','critical')","severity","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"constraints","status","text","Não","status IN ('open','mitigating','resolved')","status","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"escalations","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"escalations","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"escalations","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"escalations","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"escalations","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","constraint_id","uuid","Não","Não","constraint id","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","escalated_by","bigint","Sim","Não","escalated by","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","level","text","Não","level IN ('operational','management','executive')","level","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"escalations","status","text","Não","status IN ('open','acknowledged','closed')","status","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"escalations","escalated_at","timestamptz","Não","Não","escalated at","database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"skills","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"skills","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"skills","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"skills","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"skills","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"skills","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"skills","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"skills","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"skills","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"skills","code","text","Não","Não","code","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"skills","name","text","Não","Não","name","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"occupations","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"occupations","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"occupations","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"occupations","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"occupations","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"occupations","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"occupations","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"occupations","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"occupations","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"occupations","code","text","Não","Não","code","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"occupations","name","text","Não","Não","name","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_needs","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_needs","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_needs","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_needs","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_needs","project_id","uuid","Sim","Não","project id","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","occupation_id","uuid","Sim","Não","occupation id","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/occupation_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/occupation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","skill_id","uuid","Sim","Não","skill id","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_needs","quantity","integer","Não","Não","quantity","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/quantity ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/quantity ; docs\investmoz\unification\openapi.json#/components/schemas/Need/properties/quantity","integer|number","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_needs","priority","text","Não","priority IN ('Must','Should','Could')","priority","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/priority ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/priority","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_providers","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_providers","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_providers","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_providers","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_providers","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_providers","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_providers","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_providers","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_providers","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_providers","organization_id","uuid","Sim","Não","organization id","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"training_providers","name","text","Não","Não","name","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"training_providers","status","text","Não","status IN ('candidate','approved','inactive')","status","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"courses","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"courses","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"courses","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"courses","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"courses","provider_id","uuid","Não","Não","provider id","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"courses","code","text","Não","Não","code","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","title","text","Não","Não","title","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title","string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"courses","status","text","Não","status IN ('draft','published','retired')","status","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"education_opportunities","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"education_opportunities","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"education_opportunities","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"education_opportunities","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"education_opportunities","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","course_id","uuid","Não","Não","course id","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","geo_location_id","uuid","Sim","Não","geo location id","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","start_date","date","Não","Não","start date","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","end_date","date","Sim","Não","end date","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/end_date ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/end_date","string|null","date","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"education_opportunities","capacity","integer","Sim","Não","capacity","database/migrations/2026_09_24_009000_investmoz_education.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_opportunities","status","text","Não","status IN ('planned','open','closed','cancelled')","status","database/migrations/2026_09_24_009000_investmoz_education.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_documents","project_id","uuid","Não","Não","project id","database/migrations/2026_09_24_009500_investmoz_document_links.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"project_documents","document_id","uuid","Não","Não","document id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"project_documents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_documents","investor_id","uuid","Não","Não","investor id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_documents","document_id","uuid","Não","Não","document id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"investor_documents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_documents","journey_id","uuid","Não","Não","journey id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_documents","document_id","uuid","Não","Não","document id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"journey_documents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_documents","aftercare_plan_id","uuid","Não","Não","aftercare plan id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_documents","document_id","uuid","Não","Não","document id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"aftercare_documents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_documents","education_opportunity_id","uuid","Não","Não","education opportunity id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_documents","document_id","uuid","Não","Não","document id","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"education_documents","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_009500_investmoz_document_links.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"audit_events","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"audit_events","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","actor_user_id","bigint","Sim","Não","actor user id","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","entity_type","text","Não","Não","entity type","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","entity_id","uuid","Sim","Não","ID histórico UUID sem FK; a entidade pode já não existir","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","action","text","Não","Não","action","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","occurred_at","timestamptz","Não","Não","occurred at","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","before_data","jsonb","Sim","Não","Representação anterior; aplicação deve remover segredos","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"audit_events","after_data","jsonb","Sim","Não","Representação posterior; aplicação deve remover segredos","database/migrations/2026_09_24_010000_investmoz_governance_ai.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"outbox_events","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"outbox_events","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"outbox_events","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"outbox_events","aggregate_type","text","Não","Não","aggregate type","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","aggregate_id","uuid","Não","Não","UUID do agregado produtor; sem FK polimórfica","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","event_type","text","Não","Não","event type","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","payload","jsonb","Não","Não","Conteúdo da submissão/evento; contrato por tipo pendente","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload","|object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"outbox_events","status","text","Não","status IN ('pending','published','failed')","status","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"outbox_events","available_at","timestamptz","Não","Não","available at","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"outbox_events","published_at","timestamptz","Sim","Não","published at","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"inbox_events","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"inbox_events","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"inbox_events","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"inbox_events","message_id","text","Não","Não","message id","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","event_type","text","Não","Não","event type","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","payload","jsonb","Não","Não","Conteúdo da submissão/evento; contrato por tipo pendente","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload","|object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"inbox_events","status","text","Não","status IN ('received','processed','failed')","status","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"inbox_events","received_at","timestamptz","Não","Não","received at","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"inbox_events","processed_at","timestamptz","Sim","Não","processed at","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sync_runs","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sync_runs","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sync_runs","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sync_runs","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","integration_name","text","Não","Não","integration name","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","direction","text","Não","direction IN ('inbound','outbound')","direction","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","status","text","Não","status IN ('running','succeeded','failed','cancelled')","status","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"sync_runs","started_at","timestamptz","Não","Não","started at","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","ended_at","timestamptz","Sim","Não","ended at","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"sync_runs","totals","jsonb","Não","Não","totals","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","id","uuid","Não","Não","Identificador primário da entidade","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id","integer|string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"reconciliation_issues","source_system","text","Não","Não","Sistema de origem; integra a chave estável de importação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","external_id","text","Sim","Não","Identificador na origem; NULL quando não fornecido","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","version_no","integer","Não","Não","Versão positiva; comparação compete ao importador","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no","integer","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"reconciliation_issues","data_classification","text","Não","data_classification IN ('public','internal','confidential','restricted')","Classificação de acesso; não substitui autorização","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","correlation_id","uuid","Sim","Não","Correlação entre operações; não é FK","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id","string","uuid","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"reconciliation_issues","created_at","timestamptz","Não","Não","Instante de criação","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","updated_at","timestamptz","Não","Não","Instante da última actualização","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at","string","date-time","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"reconciliation_issues","deleted_at","timestamptz","Sim","Não","Eliminação lógica; NULL indica activo","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","sync_run_id","uuid","Não","Não","sync run id","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","entity_type","text","Não","Não","entity type","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","external_id_ref","text","Sim","Não","external id ref","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","issue_type","text","Não","issue_type IN ('missing','duplicate','orphan','checksum','geometry','value')","issue type","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","severity","text","Não","severity IN ('warning','error')","severity","database/migrations/2026_09_24_011000_investmoz_integrations.php","","","","NAO_REGISTADA_NO_DICIONARIO","SEM_CAMPO_OPENAPI_DOCUMENTADO"
"reconciliation_issues","status","text","Não","status IN ('open','accepted','resolved')","status","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status","|integer|string","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
"reconciliation_issues","details","jsonb","Não","Não","details","database/migrations/2026_09_24_011000_investmoz_integrations.php","docs\investmoz\unification\openapi.json#/components/schemas/Need/properties/details","object","","NAO_REGISTADA_NO_DICIONARIO","NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA"
1 TabelaSQL CampoSQL TipoPostgreSQL Nulabilidade EnumeracoesRestricoes DescricaoSQL OrigemMigration DocumentoOpenAPI TipoOpenAPI FormatoOpenAPI ClassificacaoDados EstadoMapeamento
2 users id bigint Não Não Identificador primário da entidade database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
3 users name character varying(255) Não Não name database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
4 users email character varying(255) Não Não email database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
5 users email_verified_at timestamp(0) without time zone Sim Não email verified at database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
6 users password character varying(255) Não Não password database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
7 users remember_token character varying(100) Sim Não remember token database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
8 users created_at timestamp(0) without time zone Sim Não Instante de criação database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
9 users updated_at timestamp(0) without time zone Sim Não Instante da última actualização database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
10 users two_factor_secret text Sim Não two factor secret database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
11 users two_factor_recovery_codes text Sim Não two factor recovery codes database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
12 users two_factor_confirmed_at timestamp(0) without time zone Sim Não two factor confirmed at database/migrations/2025_08_14_170933_add_two_factor_columns_to_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
13 password_reset_tokens email character varying(255) Não Não email database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
14 password_reset_tokens token character varying(255) Não Não token database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
15 password_reset_tokens created_at timestamp(0) without time zone Sim Não Instante de criação database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
16 sessions id character varying(255) Não Não Identificador primário da entidade database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
17 sessions user_id bigint Sim Não user id database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
18 sessions ip_address character varying(45) Sim Não ip address database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
19 sessions user_agent text Sim Não user agent database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
20 sessions payload text Não Não Conteúdo da submissão/evento; contrato por tipo pendente database/migrations/0001_01_01_000000_create_users_table.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload |object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
21 sessions last_activity integer Não Não last activity database/migrations/0001_01_01_000000_create_users_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
22 cache key character varying(255) Não Não key database/migrations/0001_01_01_000001_create_cache_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
23 cache value text Não Não value database/migrations/0001_01_01_000001_create_cache_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
24 cache expiration bigint Não Não expiration database/migrations/0001_01_01_000001_create_cache_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
25 cache_locks key character varying(255) Não Não key database/migrations/0001_01_01_000001_create_cache_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
26 cache_locks owner character varying(255) Não Não owner database/migrations/0001_01_01_000001_create_cache_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
27 cache_locks expiration bigint Não Não expiration database/migrations/0001_01_01_000001_create_cache_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
28 jobs id bigint Não Não Identificador primário da entidade database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
29 jobs queue character varying(255) Não Não queue database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
30 jobs payload text Não Não Conteúdo da submissão/evento; contrato por tipo pendente database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload |object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
31 jobs attempts smallint Não Não attempts database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
32 jobs reserved_at integer Sim Não reserved at database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
33 jobs available_at integer Não Não available at database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
34 jobs created_at integer Não Não Instante de criação database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
35 job_batches id character varying(255) Não Não Identificador primário da entidade database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
36 job_batches name character varying(255) Não Não name database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
37 job_batches total_jobs integer Não Não total jobs database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
38 job_batches pending_jobs integer Não Não pending jobs database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
39 job_batches failed_jobs integer Não Não failed jobs database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
40 job_batches failed_job_ids text Não Não failed job ids database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
41 job_batches options text Sim Não options database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\unification\openapi.json#/components/schemas/References/properties/options array NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
42 job_batches cancelled_at integer Sim Não cancelled at database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
43 job_batches created_at integer Não Não Instante de criação database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
44 job_batches finished_at integer Sim Não finished at database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
45 failed_jobs id bigint Não Não Identificador primário da entidade database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
46 failed_jobs uuid character varying(255) Não Não uuid database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
47 failed_jobs connection character varying(255) Não Não connection database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
48 failed_jobs queue character varying(255) Não Não queue database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
49 failed_jobs payload text Não Não Conteúdo da submissão/evento; contrato por tipo pendente database/migrations/0001_01_01_000002_create_jobs_table.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload |object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
50 failed_jobs exception text Não Não exception database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
51 failed_jobs failed_at timestamp(0) without time zone Não Não failed at database/migrations/0001_01_01_000002_create_jobs_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
52 passkeys id bigint Não Não Identificador primário da entidade database/migrations/2024_01_01_000000_create_passkeys_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
53 passkeys user_id bigint Não Não user id database/migrations/2024_01_01_000000_create_passkeys_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
54 passkeys name character varying(255) Não Não name database/migrations/2024_01_01_000000_create_passkeys_table.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
55 passkeys credential_id character varying(255) Não Não credential id database/migrations/2024_01_01_000000_create_passkeys_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
56 passkeys credential json Não Não credential database/migrations/2024_01_01_000000_create_passkeys_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
57 passkeys last_used_at timestamp(0) without time zone Sim Não last used at database/migrations/2024_01_01_000000_create_passkeys_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
58 passkeys created_at timestamp(0) without time zone Sim Não Instante de criação database/migrations/2024_01_01_000000_create_passkeys_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
59 passkeys updated_at timestamp(0) without time zone Sim Não Instante da última actualização database/migrations/2024_01_01_000000_create_passkeys_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
60 sectors id bigint Não Não Identificador primário da entidade database/migrations/2026_01_01_000001_create_sectors_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
61 sectors name character varying(150) Não Não name database/migrations/2026_01_01_000001_create_sectors_table.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
62 sectors slug character varying(180) Não Não slug database/migrations/2026_01_01_000001_create_sectors_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/slug string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
63 sectors short_description character varying(255) Sim Não short description database/migrations/2026_01_01_000001_create_sectors_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
64 sectors description text Sim Não description database/migrations/2026_01_01_000001_create_sectors_table.php docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
65 sectors icon character varying(100) Sim Não icon database/migrations/2026_01_01_000001_create_sectors_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
66 sectors sort_order integer Não Não sort order database/migrations/2026_01_01_000001_create_sectors_table.php docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/sort_order integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
67 sectors is_active boolean Não Não is active database/migrations/2026_01_01_000001_create_sectors_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
68 sectors published_at timestamp(0) without time zone Sim Não published at database/migrations/2026_01_01_000001_create_sectors_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
69 sectors created_at timestamp(0) without time zone Sim Não Instante de criação database/migrations/2026_01_01_000001_create_sectors_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
70 sectors updated_at timestamp(0) without time zone Sim Não Instante da última actualização database/migrations/2026_01_01_000001_create_sectors_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
71 sectors deleted_at timestamp(0) without time zone Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_01_01_000001_create_sectors_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
72 opportunities id bigint Não Não Identificador primário da entidade database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
73 opportunities sector_id bigint Não Não sector id database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/sector_id integer|null NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
74 opportunities reference character varying(80) Não Não reference database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/reference string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
75 opportunities title character varying(200) Não Não title database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
76 opportunities slug character varying(220) Não Não slug database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/slug string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
77 opportunities summary character varying(500) Sim Não summary database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/summary string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
78 opportunities description text Sim Não description database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
79 opportunities province character varying(100) Sim Não province database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/province ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/province string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
80 opportunities district character varying(100) Sim Não district database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/district ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/district string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
81 opportunities promoter_name character varying(200) Sim Não promoter name database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
82 opportunities promoter_type character varying(100) Sim Não promoter type database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
83 opportunities maturity_level smallint Sim Não maturity level database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
84 opportunities maturity_label character varying(120) Sim Não maturity label database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/maturity_label string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
85 opportunities estimated_investment_amount numeric(18,2) Sim Não estimated investment amount database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/estimated_investment_amount string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
86 opportunities estimated_investment_currency character varying(10) Não Não estimated investment currency database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/estimated_investment_currency string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
87 opportunities financing_modality character varying(120) Sim Não financing modality database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
88 opportunities expected_impact text Sim Não expected impact database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
89 opportunities status character varying(50) Não Não status database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
90 opportunities is_featured boolean Não Não is featured database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
91 opportunities published_at timestamp(0) without time zone Sim Não published at database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
92 opportunities last_validated_at timestamp(0) without time zone Sim Não last validated at database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
93 opportunities created_at timestamp(0) without time zone Sim Não Instante de criação database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
94 opportunities updated_at timestamp(0) without time zone Sim Não Instante da última actualização database/migrations/2026_01_01_000002_create_opportunities_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
95 opportunities deleted_at timestamp(0) without time zone Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_01_01_000002_create_opportunities_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
96 interest_requests id bigint Não Não Identificador primário da entidade database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
97 interest_requests opportunity_id bigint Sim Não opportunity id database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
98 interest_requests reference character varying(80) Não Não reference database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/reference string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
99 interest_requests full_name character varying(150) Não Não full name database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/full_name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
100 interest_requests email character varying(150) Não Não email database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
101 interest_requests phone character varying(30) Sim Não phone database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/phone string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
102 interest_requests investor_type character varying(80) Não Não investor type database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
103 interest_requests country character varying(100) Não Não country database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/country string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
104 interest_requests sector_interest character varying(150) Não Não sector interest database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
105 interest_requests opportunity_reference character varying(80) Sim Não opportunity reference database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
106 interest_requests investment_range character varying(80) Sim Não investment range database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
107 interest_requests message text Não Não message database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\unification\openapi.json#/components/schemas/Error/properties/message string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
108 interest_requests privacy_consent boolean Não Não privacy consent database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
109 interest_requests consented_at timestamp(0) without time zone Sim Não consented at database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
110 interest_requests status character varying(50) Não Não status database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
111 interest_requests source_page character varying(255) Sim Não source page database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
112 interest_requests ip_address inet Sim Não ip address database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
113 interest_requests user_agent text Sim Não user agent database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
114 interest_requests metadata json Sim Não Metadados flexíveis; schema aplicacional pendente database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
115 interest_requests reviewed_at timestamp(0) without time zone Sim Não reviewed at database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
116 interest_requests reviewed_by bigint Sim Não reviewed by database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
117 interest_requests created_at timestamp(0) without time zone Sim Não Instante de criação database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
118 interest_requests updated_at timestamp(0) without time zone Sim Não Instante da última actualização database/migrations/2026_01_01_000003_create_interest_requests_table.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
119 interest_requests deleted_at timestamp(0) without time zone Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_01_01_000003_create_interest_requests_table.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
120 organizations id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
121 organizations source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
122 organizations external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
123 organizations version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
124 organizations data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
125 organizations correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
126 organizations created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
127 organizations updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
128 organizations deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
129 organizations name text Não Não name database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
130 organizations organization_type text Não organization_type IN ('public','private','ngo','education') organization type database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
131 memberships id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
132 memberships source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
133 memberships external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
134 memberships version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
135 memberships data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
136 memberships correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
137 memberships created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
138 memberships updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
139 memberships deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
140 memberships user_id bigint Não Não user id database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
141 memberships organization_id uuid Não Não organization id database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
142 memberships role text Não role IN ('admin','manager','officer','viewer') role database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/role ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/role string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
143 consents id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
144 consents source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
145 consents external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
146 consents version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
147 consents data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
148 consents correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
149 consents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
150 consents updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
151 consents deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
152 consents user_id bigint Sim Não user id database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
153 consents subject_ref text Não Não subject ref database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
154 consents purpose text Não Não purpose database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\zones\openapi.json#/components/schemas/Geometry/properties/purpose string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
155 consents status text Não status IN ('granted','withdrawn','expired') status database/migrations/2026_09_24_001000_investmoz_identity.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
156 consents granted_at timestamptz Sim Não granted at database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
157 consents withdrawn_at timestamptz Sim Não withdrawn at database/migrations/2026_09_24_001000_investmoz_identity.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
158 documents id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_002000_investmoz_content.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
159 documents source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
160 documents external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
161 documents version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_002000_investmoz_content.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
162 documents data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
163 documents correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_002000_investmoz_content.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
164 documents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
165 documents updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_002000_investmoz_content.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
166 documents deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
167 documents file_name text Não Não file name database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
168 documents media_type text Não Não media type database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
169 documents storage_key text Não Não Chave única no armazenamento database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
170 documents sha256 char(64) Não Não SHA-256 hexadecimal; 64 caracteres minúsculos database/migrations/2026_09_24_002000_investmoz_content.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
171 documents status text Não status IN ('active','quarantined','deleted') status database/migrations/2026_09_24_002000_investmoz_content.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
172 geo_locations id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
173 geo_locations source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
174 geo_locations external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
175 geo_locations version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
176 geo_locations data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
177 geo_locations correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
178 geo_locations created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
179 geo_locations updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
180 geo_locations deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
181 geo_locations name text Não Não name database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
182 geo_locations location_type text Não location_type IN ('country','province','district','municipality','site') location type database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
183 geo_locations parent_id uuid Sim Não parent id database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
184 geo_locations code text Não Não code database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
185 geo_geometries id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
186 geo_geometries source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
187 geo_geometries external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
188 geo_geometries version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
189 geo_geometries data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
190 geo_geometries correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
191 geo_geometries created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
192 geo_geometries updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_003000_investmoz_geography.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
193 geo_geometries deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
194 geo_geometries geo_location_id uuid Não Não geo location id database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
195 geo_geometries geometry_type text Não geometry_type IN ('point','line','polygon','multipolygon') Tipo declarado coerente com GeometryType(geom) database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
196 geo_geometries geom geometry(Geometry,4326) Não Não Geometria 2D WGS84 SRID 4326, válida e não vazia database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
197 geo_geometries properties jsonb Não Não Propriedades geográficas; schema aplicacional pendente database/migrations/2026_09_24_003000_investmoz_geography.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
198 projects id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
199 projects source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
200 projects external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
201 projects version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
202 projects data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
203 projects correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
204 projects created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
205 projects updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
206 projects deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
207 projects code text Não Não code database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
208 projects name text Não Não name database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
209 projects status text Não status IN ('draft','planned','active','suspended','completed','cancelled') status database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
210 projects description text Sim Não description database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
211 projects budget_amount numeric(20,2) Sim Não Orçamento exacto não negativo database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
212 projects budget_currency char(3) Sim Não Código monetário do orçamento; lista ISO autorizada pendente database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
213 projects start_date date Sim Não start date database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
214 projects end_date date Sim Não end date database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/end_date ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/end_date string|null date NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
215 projects metadata jsonb Não Não Metadados flexíveis; schema aplicacional pendente database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
216 project_locations id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
217 project_locations source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
218 project_locations external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
219 project_locations version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
220 project_locations data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
221 project_locations correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
222 project_locations created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
223 project_locations updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
224 project_locations deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
225 project_locations project_id uuid Não Não project id database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
226 project_locations geo_location_id uuid Não Não geo location id database/migrations/2026_09_24_004000_investmoz_projects.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
227 project_locations role text Não role IN ('primary','secondary','impact') role database/migrations/2026_09_24_004000_investmoz_projects.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/role ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/role string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
228 economic_clusters id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
229 economic_clusters source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
230 economic_clusters external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
231 economic_clusters version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
232 economic_clusters data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
233 economic_clusters correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
234 economic_clusters created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
235 economic_clusters updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
236 economic_clusters deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
237 economic_clusters code text Não Não code database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
238 economic_clusters name text Não Não name database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
239 economic_clusters sector text Não Não sector database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/sector ; docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/sector object|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
240 economic_clusters status text Não status IN ('planned','active','inactive') status database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
241 economic_clusters metadata jsonb Não Não Metadados flexíveis; schema aplicacional pendente database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
242 value_chains id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
243 value_chains source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
244 value_chains external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
245 value_chains version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
246 value_chains data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
247 value_chains correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
248 value_chains created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
249 value_chains updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
250 value_chains deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
251 value_chains cluster_id uuid Não Não cluster id database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
252 value_chains code text Não Não code database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
253 value_chains name text Não Não name database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
254 value_chains stage text Não stage IN ('input','production','processing','logistics','market') stage database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
255 value_chain_links id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
256 value_chain_links source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
257 value_chain_links external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
258 value_chain_links version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
259 value_chain_links data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
260 value_chain_links correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
261 value_chain_links created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
262 value_chain_links updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
263 value_chain_links deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
264 value_chain_links from_value_chain_id uuid Não Não from value chain id database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
265 value_chain_links to_value_chain_id uuid Não Não to value chain id database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
266 value_chain_links link_type text Não link_type IN ('supplies','processes','distributes','supports') link type database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
267 cluster_projects id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
268 cluster_projects source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
269 cluster_projects external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
270 cluster_projects version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
271 cluster_projects data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
272 cluster_projects correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
273 cluster_projects created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
274 cluster_projects updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
275 cluster_projects deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
276 cluster_projects cluster_id uuid Não Não cluster id database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
277 cluster_projects project_id uuid Não Não project id database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
278 cluster_projects role text Não role IN ('anchor','complementary','supporting') role database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/role ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/role string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
279 anchor_project_links id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
280 anchor_project_links source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
281 anchor_project_links external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
282 anchor_project_links version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
283 anchor_project_links data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
284 anchor_project_links correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
285 anchor_project_links created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
286 anchor_project_links updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
287 anchor_project_links deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
288 anchor_project_links anchor_project_id uuid Não Não anchor project id database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
289 anchor_project_links cluster_id uuid Não Não cluster id database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
290 anchor_project_links rationale text Não Não rationale database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
291 complementary_project_links id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
292 complementary_project_links source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
293 complementary_project_links external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
294 complementary_project_links version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
295 complementary_project_links data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
296 complementary_project_links correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
297 complementary_project_links created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
298 complementary_project_links updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_005000_investmoz_clusters.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
299 complementary_project_links deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
300 complementary_project_links anchor_project_id uuid Não Não anchor project id database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
301 complementary_project_links complementary_project_id uuid Não Não complementary project id database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
302 complementary_project_links relation_type text Não relation_type IN ('dependency','enabler','supplier','market') relation type database/migrations/2026_09_24_005000_investmoz_clusters.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
303 development_corridors id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
304 development_corridors source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
305 development_corridors external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
306 development_corridors version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
307 development_corridors data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
308 development_corridors correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
309 development_corridors created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
310 development_corridors updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
311 development_corridors deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
312 development_corridors code text Não Não code database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
313 development_corridors name text Não Não name database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
314 development_corridors status text Não status IN ('proposed','active','closed') status database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
315 development_corridors description text Sim Não description database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
316 corridor_locations id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
317 corridor_locations source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
318 corridor_locations external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
319 corridor_locations version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
320 corridor_locations data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
321 corridor_locations correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
322 corridor_locations created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
323 corridor_locations updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
324 corridor_locations deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
325 corridor_locations corridor_id uuid Não Não corridor id database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/corridor_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/corridor_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/corridor_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
326 corridor_locations geo_location_id uuid Não Não geo location id database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
327 corridor_locations sequence_no integer Não Não sequence no database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
328 corridor_projects id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
329 corridor_projects source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
330 corridor_projects external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
331 corridor_projects version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
332 corridor_projects data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
333 corridor_projects correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
334 corridor_projects created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
335 corridor_projects updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
336 corridor_projects deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
337 corridor_projects corridor_id uuid Não Não corridor id database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/corridor_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/corridor_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/corridor_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
338 corridor_projects project_id uuid Não Não project id database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
339 corridor_clusters id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
340 corridor_clusters source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
341 corridor_clusters external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
342 corridor_clusters version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
343 corridor_clusters data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
344 corridor_clusters correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
345 corridor_clusters created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
346 corridor_clusters updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
347 corridor_clusters deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_006000_investmoz_corridors.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
348 corridor_clusters corridor_id uuid Não Não corridor id database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/corridor_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/corridor_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/corridor_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
349 corridor_clusters cluster_id uuid Não Não cluster id database/migrations/2026_09_24_006000_investmoz_corridors.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/cluster_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/cluster_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/cluster_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
350 investors id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
351 investors source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
352 investors external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
353 investors version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
354 investors data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
355 investors correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
356 investors created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
357 investors updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
358 investors deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
359 investors organization_id uuid Sim Não organization id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
360 investors legal_name text Não Não legal name database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
361 investors investor_type text Não investor_type IN ('domestic','foreign','institutional','individual') investor type database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
362 investors status text Não status IN ('prospect','active','inactive') status database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
363 contacts id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
364 contacts source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
365 contacts external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
366 contacts version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
367 contacts data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
368 contacts correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
369 contacts created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
370 contacts updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
371 contacts deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
372 contacts full_name text Não Não full name database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/full_name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
373 contacts email text Sim Não email database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/email string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
374 contacts phone text Sim Não phone database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/phone string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
375 investor_contacts investor_id uuid Não Não investor id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
376 investor_contacts contact_id uuid Não Não contact id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
377 investor_contacts is_primary boolean Não Não Contacto principal deste investidor; limite quantitativo pendente database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/is_primary ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/is_primary boolean NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
378 investor_contacts created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
379 investor_contacts updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
380 leads id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
381 leads source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
382 leads external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
383 leads version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
384 leads data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
385 leads correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
386 leads created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
387 leads updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
388 leads deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
389 leads investor_id uuid Sim Não investor id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
390 leads owner_user_id bigint Sim Não owner user id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
391 leads title text Não Não title database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
392 leads status text Não status IN ('new','qualified','disqualified','converted') status database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
393 leads estimated_amount numeric(20,2) Sim Não Montante estimado exacto não negativo database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/estimated_amount number NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
394 leads currency char(3) Sim Não Código monetário; três letras maiúsculas; lista ISO autorizada pendente database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/currency string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
395 crm_opportunities id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
396 crm_opportunities source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
397 crm_opportunities external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
398 crm_opportunities version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
399 crm_opportunities data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
400 crm_opportunities correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
401 crm_opportunities created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
402 crm_opportunities updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
403 crm_opportunities deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
404 crm_opportunities lead_id uuid Sim Não lead id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
405 crm_opportunities project_id uuid Sim Não project id database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
406 crm_opportunities owner_user_id bigint Sim Não owner user id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
407 crm_opportunities stage text Não stage IN ('discovery','assessment','negotiation','approved','lost') stage database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
408 crm_opportunities amount numeric(20,2) Sim Não Montante monetário exacto não negativo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
409 crm_opportunities currency char(3) Sim Não Código monetário; três letras maiúsculas; lista ISO autorizada pendente database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Payload/properties/currency string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
410 crm_opportunities probability numeric(5,2) Sim Não probability database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
411 activities id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
412 activities source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
413 activities external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
414 activities version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
415 activities data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
416 activities correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
417 activities created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
418 activities updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
419 activities deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
420 activities investor_id uuid Sim Não investor id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
421 activities opportunity_id uuid Sim Não opportunity id database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
422 activities actor_user_id bigint Sim Não actor user id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
423 activities activity_type text Não activity_type IN ('call','meeting','email','note') activity type database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
424 activities occurred_at timestamptz Não Não occurred at database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
425 activities summary text Não Não summary database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/summary string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
426 tasks id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
427 tasks source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
428 tasks external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
429 tasks version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
430 tasks data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
431 tasks correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
432 tasks created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
433 tasks updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
434 tasks deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
435 tasks assignee_user_id bigint Sim Não assignee user id database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
436 tasks opportunity_id uuid Sim Não opportunity id database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
437 tasks title text Não Não title database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
438 tasks status text Não status IN ('open','in_progress','done','cancelled') status database/migrations/2026_09_24_007000_investmoz_crm.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
439 tasks due_at timestamptz Sim Não due at database/migrations/2026_09_24_007000_investmoz_crm.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
440 investor_journeys id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
441 investor_journeys source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
442 investor_journeys external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
443 investor_journeys version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
444 investor_journeys data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
445 investor_journeys correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
446 investor_journeys created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
447 investor_journeys updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
448 investor_journeys deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
449 investor_journeys investor_id uuid Não Não investor id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
450 investor_journeys opportunity_id uuid Sim Não opportunity id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/opportunity_id integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
451 investor_journeys status text Não status IN ('started','active','completed','cancelled') status database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
452 investor_journeys started_at timestamptz Não Não started at database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
453 journey_steps id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
454 journey_steps source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
455 journey_steps external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
456 journey_steps version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
457 journey_steps data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
458 journey_steps correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
459 journey_steps created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
460 journey_steps updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
461 journey_steps deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
462 journey_steps journey_id uuid Não Não journey id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
463 journey_steps step_code text Não Não step code database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
464 journey_steps sequence_no integer Não Não sequence no database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
465 journey_steps status text Não status IN ('pending','active','completed','blocked') status database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
466 submissions id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
467 submissions source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
468 submissions external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
469 submissions version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
470 submissions data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
471 submissions correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
472 submissions created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
473 submissions updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
474 submissions deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
475 submissions journey_step_id uuid Não Não journey step id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
476 submissions submitted_by bigint Sim Não submitted by database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
477 submissions status text Não status IN ('draft','submitted','accepted','rejected') status database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
478 submissions payload jsonb Não Não Conteúdo da submissão/evento; contrato por tipo pendente database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload |object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
479 submissions submitted_at timestamptz Sim Não submitted at database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
480 aftercare_plans id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
481 aftercare_plans source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
482 aftercare_plans external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
483 aftercare_plans version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
484 aftercare_plans data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
485 aftercare_plans correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
486 aftercare_plans created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
487 aftercare_plans updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
488 aftercare_plans deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
489 aftercare_plans investor_id uuid Não Não investor id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
490 aftercare_plans project_id uuid Sim Não project id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
491 aftercare_plans owner_user_id bigint Sim Não owner user id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
492 aftercare_plans status text Não status IN ('draft','active','closed') status database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
493 aftercare_plans review_date date Sim Não review date database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
494 constraints id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
495 constraints source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
496 constraints external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
497 constraints version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
498 constraints data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
499 constraints correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
500 constraints created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
501 constraints updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
502 constraints deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
503 constraints aftercare_plan_id uuid Não Não aftercare plan id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
504 constraints category text Não Não category database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/category string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
505 constraints description text Não Não description database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/description string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
506 constraints severity text Não severity IN ('low','medium','high','critical') severity database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
507 constraints status text Não status IN ('open','mitigating','resolved') status database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
508 escalations id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
509 escalations source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
510 escalations external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
511 escalations version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
512 escalations data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
513 escalations correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
514 escalations created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
515 escalations updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
516 escalations deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
517 escalations constraint_id uuid Não Não constraint id database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
518 escalations escalated_by bigint Sim Não escalated by database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
519 escalations level text Não level IN ('operational','management','executive') level database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
520 escalations status text Não status IN ('open','acknowledged','closed') status database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
521 escalations escalated_at timestamptz Não Não escalated at database/migrations/2026_09_24_008000_investmoz_journey_aftercare.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
522 skills id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
523 skills source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
524 skills external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
525 skills version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
526 skills data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
527 skills correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
528 skills created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
529 skills updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
530 skills deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
531 skills code text Não Não code database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
532 skills name text Não Não name database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
533 occupations id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
534 occupations source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
535 occupations external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
536 occupations version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
537 occupations data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
538 occupations correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
539 occupations created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
540 occupations updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
541 occupations deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
542 occupations code text Não Não code database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
543 occupations name text Não Não name database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
544 training_needs id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
545 training_needs source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
546 training_needs external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
547 training_needs version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
548 training_needs data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
549 training_needs correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
550 training_needs created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
551 training_needs updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
552 training_needs deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
553 training_needs project_id uuid Sim Não project id database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
554 training_needs occupation_id uuid Sim Não occupation id database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/occupation_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/occupation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
555 training_needs skill_id uuid Sim Não skill id database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
556 training_needs quantity integer Não Não quantity database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/quantity ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/quantity ; docs\investmoz\unification\openapi.json#/components/schemas/Need/properties/quantity integer|number NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
557 training_needs priority text Não priority IN ('Must','Should','Could') priority database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\zones\openapi.json#/components/schemas/Link/properties/priority ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/priority integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
558 training_providers id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
559 training_providers source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
560 training_providers external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
561 training_providers version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
562 training_providers data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
563 training_providers correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
564 training_providers created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
565 training_providers updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
566 training_providers deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
567 training_providers organization_id uuid Sim Não organization id database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
568 training_providers name text Não Não name database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/name ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/name string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
569 training_providers status text Não status IN ('candidate','approved','inactive') status database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
570 courses id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
571 courses source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
572 courses external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
573 courses version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
574 courses data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
575 courses correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
576 courses created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
577 courses updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
578 courses deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
579 courses provider_id uuid Não Não provider id database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
580 courses code text Não Não code database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/code ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/code ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/code string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
581 courses title text Não Não title database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/title ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/title ; docs\investmoz\zones\openapi.json#/components/schemas/LegalSource/properties/title string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
582 courses status text Não status IN ('draft','published','retired') status database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
583 education_opportunities id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
584 education_opportunities source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
585 education_opportunities external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
586 education_opportunities version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
587 education_opportunities data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
588 education_opportunities correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
589 education_opportunities created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
590 education_opportunities updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
591 education_opportunities deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
592 education_opportunities course_id uuid Não Não course id database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
593 education_opportunities geo_location_id uuid Sim Não geo location id database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
594 education_opportunities start_date date Não Não start date database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
595 education_opportunities end_date date Sim Não end date database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/end_date ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/end_date string|null date NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
596 education_opportunities capacity integer Sim Não capacity database/migrations/2026_09_24_009000_investmoz_education.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
597 education_opportunities status text Não status IN ('planned','open','closed','cancelled') status database/migrations/2026_09_24_009000_investmoz_education.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
598 project_documents project_id uuid Não Não project id database/migrations/2026_09_24_009500_investmoz_document_links.php docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandInput/properties/project_id ; docs\investmoz\education\openapi.proposed.json#/components/schemas/DemandPatch/properties/project_id ; docs\investmoz\zones\openapi.json#/components/schemas/Relation/properties/project_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
599 project_documents document_id uuid Não Não document id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
600 project_documents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
601 investor_documents investor_id uuid Não Não investor id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
602 investor_documents document_id uuid Não Não document id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
603 investor_documents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
604 journey_documents journey_id uuid Não Não journey id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
605 journey_documents document_id uuid Não Não document id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
606 journey_documents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
607 aftercare_documents aftercare_plan_id uuid Não Não aftercare plan id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
608 aftercare_documents document_id uuid Não Não document id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
609 aftercare_documents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
610 education_documents education_opportunity_id uuid Não Não education opportunity id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
611 education_documents document_id uuid Não Não document id database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
612 education_documents created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_009500_investmoz_document_links.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
613 audit_events id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_010000_investmoz_governance_ai.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
614 audit_events source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
615 audit_events external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
616 audit_events data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
617 audit_events correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_010000_investmoz_governance_ai.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
618 audit_events created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
619 audit_events actor_user_id bigint Sim Não actor user id database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
620 audit_events entity_type text Não Não entity type database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
621 audit_events entity_id uuid Sim Não ID histórico UUID sem FK; a entidade pode já não existir database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
622 audit_events action text Não Não action database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
623 audit_events occurred_at timestamptz Não Não occurred at database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
624 audit_events before_data jsonb Sim Não Representação anterior; aplicação deve remover segredos database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
625 audit_events after_data jsonb Sim Não Representação posterior; aplicação deve remover segredos database/migrations/2026_09_24_010000_investmoz_governance_ai.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
626 outbox_events id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
627 outbox_events source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
628 outbox_events external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
629 outbox_events version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
630 outbox_events data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
631 outbox_events correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
632 outbox_events created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
633 outbox_events updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
634 outbox_events aggregate_type text Não Não aggregate type database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
635 outbox_events aggregate_id uuid Não Não UUID do agregado produtor; sem FK polimórfica database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
636 outbox_events event_type text Não Não event type database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
637 outbox_events payload jsonb Não Não Conteúdo da submissão/evento; contrato por tipo pendente database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload |object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
638 outbox_events status text Não status IN ('pending','published','failed') status database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
639 outbox_events available_at timestamptz Não Não available at database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
640 outbox_events published_at timestamptz Sim Não published at database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
641 inbox_events id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
642 inbox_events source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
643 inbox_events external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
644 inbox_events version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
645 inbox_events data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
646 inbox_events correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
647 inbox_events created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
648 inbox_events updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
649 inbox_events message_id text Não Não message id database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
650 inbox_events event_type text Não Não event type database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
651 inbox_events payload jsonb Não Não Conteúdo da submissão/evento; contrato por tipo pendente database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/CompanyDeclaration/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/Draft/properties/payload ; docs\investmoz\unification\openapi.json#/components/schemas/InvestorAccount/properties/payload |object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
652 inbox_events status text Não status IN ('received','processed','failed') status database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
653 inbox_events received_at timestamptz Não Não received at database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
654 inbox_events processed_at timestamptz Sim Não processed at database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
655 sync_runs id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
656 sync_runs source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
657 sync_runs external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
658 sync_runs version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
659 sync_runs data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
660 sync_runs correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
661 sync_runs created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
662 sync_runs updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
663 sync_runs deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
664 sync_runs integration_name text Não Não integration name database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
665 sync_runs direction text Não direction IN ('inbound','outbound') direction database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
666 sync_runs status text Não status IN ('running','succeeded','failed','cancelled') status database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
667 sync_runs started_at timestamptz Não Não started at database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
668 sync_runs ended_at timestamptz Sim Não ended at database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
669 sync_runs totals jsonb Não Não totals database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
670 reconciliation_issues id uuid Não Não Identificador primário da entidade database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/id ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Entity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/id ; docs\investmoz\unification\openapi.json#/components/schemas/Option/properties/id integer|string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
671 reconciliation_issues source_system text Não Não Sistema de origem; integra a chave estável de importação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
672 reconciliation_issues external_id text Sim Não Identificador na origem; NULL quando não fornecido database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
673 reconciliation_issues version_no integer Não Não Versão positiva; comparação compete ao importador database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Version/properties/version_no ; docs\investmoz\zones\openapi.json#/components/schemas/Zone/properties/version_no integer NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
674 reconciliation_issues data_classification text Não data_classification IN ('public','internal','confidential','restricted') Classificação de acesso; não substitui autorização database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
675 reconciliation_issues correlation_id uuid Sim Não Correlação entre operações; não é FK database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/correlation_id string uuid NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
676 reconciliation_issues created_at timestamptz Não Não Instante de criação database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
677 reconciliation_issues updated_at timestamptz Não Não Instante da última actualização database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Demand/properties/updated_at string date-time NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
678 reconciliation_issues deleted_at timestamptz Sim Não Eliminação lógica; NULL indica activo database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
679 reconciliation_issues sync_run_id uuid Não Não sync run id database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
680 reconciliation_issues entity_type text Não Não entity type database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
681 reconciliation_issues external_id_ref text Sim Não external id ref database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
682 reconciliation_issues issue_type text Não issue_type IN ('missing','duplicate','orphan','checksum','geometry','value') issue type database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
683 reconciliation_issues severity text Não severity IN ('warning','error') severity database/migrations/2026_09_24_011000_investmoz_integrations.php NAO_REGISTADA_NO_DICIONARIO SEM_CAMPO_OPENAPI_DOCUMENTADO
684 reconciliation_issues status text Não status IN ('open','accepted','resolved') status database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\education\openapi.proposed.json#/components/schemas/Problem/properties/status ; docs\investmoz\existing-business\openapi.json#/components/schemas/Business/properties/status ; docs\investmoz\unification\openapi.json#/components/schemas/Opportunity/properties/status |integer|string NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA
685 reconciliation_issues details jsonb Não Não details database/migrations/2026_09_24_011000_investmoz_integrations.php docs\investmoz\unification\openapi.json#/components/schemas/Need/properties/details object NAO_REGISTADA_NO_DICIONARIO NOME_CORRESPONDENTE_POR_CONFIRMAR_SEMANTICA