> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devmob.app.br/llms.txt
> Use this file to discover all available pages before exploring further.

# ExportScheduled

> Agendamento de exportação para execução futura

O `ExportScheduled` representa uma **exportação agendada**. Ele mantém o núcleo de solicitação de um [ExportJob](/data-modelling/data-transfer/export-job), adicionando o horário de execução e metadados necessários para gerar o arquivo futuro.

## Campos

| Campo               | Tipo                     | Descrição                                                                                                    |
| ------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------ |
| `exportScheduledId` | `UUID`                   | Identificador único                                                                                          |
| `organizationId`    | `UUID?`                  | Organização relacionada ao agendamento                                                                       |
| `companyId`         | `UUID?`                  | Empresa relacionada ao agendamento                                                                           |
| `cooperativeId`     | `UUID?`                  | Cooperativa relacionada ao agendamento                                                                       |
| `requestedByUserId` | `UUID`                   | Usuário que solicitou a exportação agendada                                                                  |
| `resource`          | `String`                 | Chave do recurso exportado, correspondente a [ExportResource](/data-modelling/data-transfer/export-resource) |
| `scopeType`         | `DataTransferScopeType`  | Escopo principal da exportação                                                                               |
| `format`            | `DataTransferFileFormat` | Formato do arquivo gerado                                                                                    |
| `columns`           | `String[]`               | Colunas solicitadas para o arquivo                                                                           |
| `filters`           | `Json`                   | Filtros aplicados à consulta                                                                                 |
| `fileNamePrefix`    | `String?`                | Prefixo usado para montar o nome sugerido do arquivo gerado                                                  |
| `scheduledAt`       | `DateTime`               | Horário em que o job deve ser criado                                                                         |
| `failureReason`     | `String?`                | Motivo de falha quando o agendamento termina em `FAILED`                                                     |
| `status`            | `ExportScheduledStatus`  | Status do agendamento                                                                                        |
| `createdAt`         | `DateTime`               | Data de criação                                                                                              |
| `updatedAt`         | `DateTime`               | Data da última atualização                                                                                   |
| `deletedAt`         | `DateTime?`              | Data de remoção lógica                                                                                       |

## Relacionamentos

* Relaciona-se com [Organization](/data-modelling/tenant/organization), quando o escopo exigir organização.
* Relaciona-se com [Company](/data-modelling/tenant/company), quando o escopo for `COMPANY`.
* Relaciona-se com [Cooperative](/data-modelling/tenant/cooperative), quando o escopo for `COOPERATIVE`.
* Relaciona-se com [User](/data-modelling/identity/user) por `requestedByUserId`.
* Referencia [ExportResource](/data-modelling/data-transfer/export-resource) por `resource`.
* Pode originar um [ExportJob](/data-modelling/data-transfer/export-job) quando `scheduledAt` for alcançado.

## Regras de Negócio

* `resource` deve existir como catálogo ativo em [ExportResource](/data-modelling/data-transfer/export-resource).
* `scopeType` define quais identificadores de escopo são obrigatórios.
* `columns` deve ser subconjunto das colunas permitidas no catálogo.
* `filters` deve respeitar os campos e operadores permitidos no catálogo.
* `fileNamePrefix` deve ser usado para compor o `fileName` do [ExportJob](/data-modelling/data-transfer/export-job), quando informado.
* `scheduledAt` deve ser uma data futura no momento da criação do agendamento.
* Quando o agendamento for executado, deve ser criado um [ExportJob](/data-modelling/data-transfer/export-job) com os mesmos campos de escopo, recurso, formato, colunas e filtros.
* `CANCELED`, `COMPLETED`, `FAILED` ou `deletedAt` impedem nova execução do agendamento.

## Enums

### DataTransferScopeType

| Valor          | Descrição                           |
| -------------- | ----------------------------------- |
| `ORGANIZATION` | Operação limitada a uma organização |
| `COMPANY`      | Operação limitada a uma empresa     |
| `COOPERATIVE`  | Operação limitada a uma cooperativa |
| `BACKOFFICE`   | Operação administrativa             |

### DataTransferFileFormat

| Valor  | Descrição      |
| ------ | -------------- |
| `CSV`  | Arquivo CSV    |
| `XLSX` | Planilha Excel |

### ExportScheduledStatus

| Valor       | Descrição                                |
| ----------- | ---------------------------------------- |
| `SCHEDULED` | Agendamento criado e aguardando execução |
| `COMPLETED` | Job criado a partir do agendamento       |
| `FAILED`    | Falha ao criar o job agendado            |
| `CANCELED`  | Agendamento cancelado antes da execução  |

## Example

```json theme={null}
{
  "exportScheduledId": "0197f605-98dd-71e8-9666-0d9f6c719b95",
  "organizationId": "0197a801-1690-7590-b3cf-19599b9be3e4",
  "companyId": "0197a801-6a42-79aa-9e56-d3c85148c0fa",
  "cooperativeId": null,
  "requestedByUserId": "0197a805-0910-7eb2-bae7-90a13df2a9b2",
  "resource": "order",
  "scopeType": "COMPANY",
  "format": "CSV",
  "columns": ["code", "status", "totalAmount", "createdAt"],
  "filters": {
    "status": {
      "operator": "IN",
      "value": ["PAID", "CANCELED"]
    }
  },
  "fileNamePrefix": "pedidos-agendados",
  "scheduledAt": "2026-07-05T09:00:00.000Z",
  "failureReason": null,
  "status": "SCHEDULED",
  "createdAt": "2026-07-04T08:30:00.000Z",
  "updatedAt": "2026-07-04T08:30:00.000Z",
  "deletedAt": null
}
```
