From 144acb168856be4fb2a77de40458a204fe19b4d9 Mon Sep 17 00:00:00 2001
From: Samuel Facchinello Bem-vindo à API do sistema Cadastro de Atributos. O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração: A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO. Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: Bem-vindo à API do sistema Cadastro de Atributos. O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração: A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO. Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: Bem-vindo à API do sistema Cadastro de Atributos. O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração: A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO. Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: Bem-vindo à API do sistema Cadastro de Atributos. O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração: A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO. Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: Bem-vindo à API do sistema Cadastro de Atributos. O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração: A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO. Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: Bem-vindo à API do sistema Cadastro de Atributos. O Cadastro de Atributos define a estrutura dos atributos configurados pelos órgãos anuentes para compor as declarações de comércio exterior. Dependendo do seu objetivo, um atributo pode ser vinculado a um dos seguintes elementos: A descrição dos serviços faz referência à variável URL_BASE, que é definida de acordo com o ambiente destino da integração: A seguir são especificados os serviços para download da relação completa de atributos, independente dos vínculos, e das relações de atributos por código NCM e de atributos por Fundamento Legal. Essas relações são atualizadas diariamente, à meia-noite, e o download pode ser realizado para qualquer data de referência, seja passada, atual ou futura. Os arquivos são gerados na sintaxe XML ou JSON, conforme solicitado, e são retornados compactados, no formato ZIP. A versão do arquivo é indicada no campo ‘versao’ e o histórico das mudanças pode ser consultado em formato HTML, nas URLs a seguir: Para consultar os vínculos de atributos com modelos de LPCO, deve-se utilizar a API do Tratamento Administrativo e LPCO. Além dos serviços para download, a API oferece consultas mais específicas, que retornam sempre uma estrutura em formato JSON: Exemplos de Respostas da Consulta DAT Exemplos de Respostas da Consulta DTAI Exemplos de Respostas da Consulta MIC Exemplos de Respostas da Consulta TIF-DTA Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/cct/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado. Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp
+ *
* Entrega de carga através do número de uma Duimp transferindo a responsabilidade pelo estoque da carga
+ *
*/
@POST
@Path("/api/ext/imp/carga/entrega/duimp")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java
index 5564bb0..06a4044 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/OperaesDeContinerApi.java
@@ -21,6 +21,7 @@
* Controle de Carga de Importação - Modal Aquaviário
*
* Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/cct/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado. Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/cct/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado. Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp
+ *
* Consultar o estoque por número de Duimp e/ou por número de CE Mercante
+ *
*/
@GET
@Path("/api/ext/imp/estoque/pos-acd")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java
index 454c650..2a9e14c 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/api/RecepoDeCargaApi.java
@@ -21,6 +21,7 @@
* Controle de Carga de Importação - Modal Aquaviário
*
* Bem-vindo à Application Programming Interface (API) do sistema Pucomex - Controle de Cargas de Importação - Modal Aquaviário. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/cct/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado. Exemplo: Para o serviço \"Recepção de Carga\" a URL é \"api/ext/imp/carga/recepcao/duimp\". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/cct/api/ext/imp/carga/recepcao/duimp
+ *
* Recepção de carga através do número de uma Duimp puxando a responsabilidade pelo estoque da carga
+ *
*/
@POST
@Path("/api/ext/imp/carga/recepcao/duimp")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java
index bbd3e8f..30369e3 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/BusinessExceptionCover.java
@@ -255,7 +255,6 @@ public BusinessExceptionCover severity(SeverityEnum severity) {
/**
* Get info
- *
* @return info
**/
@JsonProperty("info")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java
index d0dd83f..a1ac7e5 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/ConsultaEstoquePosDetails.java
@@ -321,7 +321,6 @@ public ConsultaEstoquePosDetails addVeiculosItem(VeiculoDetails veiculosItem) {
/**
* Número da Duimp
- *
* @return numeroDUIMP
**/
@JsonProperty("numeroDUIMP")
@@ -340,7 +339,6 @@ public ConsultaEstoquePosDetails numeroDUIMP(String numeroDUIMP) {
/**
* Descrição da situação da Duimp
- *
* @return situacao
**/
@JsonProperty("situacao")
@@ -359,7 +357,6 @@ public ConsultaEstoquePosDetails situacao(String situacao) {
/**
* Descrição do canal da Duimp
- *
* @return canal
**/
@JsonProperty("canal")
@@ -378,7 +375,6 @@ public ConsultaEstoquePosDetails canal(String canal) {
/**
* Get importador
- *
* @return importador
**/
@JsonProperty("importador")
@@ -440,7 +436,6 @@ public ConsultaEstoquePosDetails valorTotalMercadoriaNoLocalDescarregamento(BigD
/**
* Get destinoFinalCarga
- *
* @return destinoFinalCarga
**/
@JsonProperty("destinoFinalCarga")
@@ -459,7 +454,6 @@ public ConsultaEstoquePosDetails destinoFinalCarga(UrfDTO destinoFinalCarga) {
/**
* Nome do consignarário
- *
* @return nomeConsignatario
**/
@JsonProperty("nomeConsignatario")
@@ -478,7 +472,6 @@ public ConsultaEstoquePosDetails nomeConsignatario(String nomeConsignatario) {
/**
* Nome do país de origem da carga
- *
* @return paisOrigemCarga
**/
@JsonProperty("paisOrigemCarga")
@@ -497,7 +490,6 @@ public ConsultaEstoquePosDetails paisOrigemCarga(String paisOrigemCarga) {
/**
* Indica se existe autorização no Sistema DIMP para entrega da carga
- *
* @return entregaAutorizadaPelaDuimp
**/
@JsonProperty("entregaAutorizadaPelaDuimp")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java
index 245c91a..e2037d4 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/DiagnosticInfo.java
@@ -170,7 +170,6 @@ public DiagnosticInfo url(String url) {
/**
* Get fluxo
- *
* @return fluxo
**/
@JsonProperty("fluxo")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java
index 4ee40c4..9bcf426 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/RecepcaoDocumentoCarga.java
@@ -242,7 +242,6 @@ public RecepcaoDocumentoCarga localArmazenamento(String localArmazenamento) {
/**
* Observações gerais<br>Tamanho: 250
- *
* @return observacoes
**/
@JsonProperty("observacoes")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java
index 6e85fb1..7214bba 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_imp/model/UnexpectedExceptionCover.java
@@ -255,7 +255,6 @@ public UnexpectedExceptionCover severity(SeverityEnum severity) {
/**
* Get info
- *
* @return info
**/
@JsonProperty("info")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java b/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java
index 92472ee..27e2fd4 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_rcar/model/IExceptionCover.java
@@ -225,7 +225,6 @@ public IExceptionCover tag(String tag) {
/**
* Get code
- *
* @return code
**/
@JsonProperty("code")
@@ -244,7 +243,6 @@ public IExceptionCover code(String code) {
/**
* Get field
- *
* @return field
**/
@JsonProperty("field")
@@ -281,6 +279,7 @@ public IExceptionCover message(String message) {
/**
* Get detail
+ *
* @return detail
**/
@JsonProperty("detail")
diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java
index dfa78bb..5f4c8e6 100644
--- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java
+++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/DocumentoSaidaConsultaDetalhada.java
@@ -177,9 +177,9 @@ public static TipoEnum fromValue(String v) {
}
@XmlElement(name = "tipo")
- @ApiModelProperty(example = "20", value = "Tipo de documento de saída Os documentos podem ser: Os documentos podem ser: Os documentos podem ser: Os documentos podem ser: Os documentos podem ser: Os documentos podem ser: Os documentos podem ser: Os documentos podem ser: Informações detalhadas sobre serviços e funcionalidades em tela, assim como a lista de funcionalidades disponíveis para cada perfil de acesso, podem ser consultados no manual do usuário do CCT Importação. Bem-vindo à Application Programming Interface (API) de interação com o novo Sistema de Controle de Carga e Trânsito (CCT Importação - Modal Aéreo). Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a manifestação e gestão do fluxo logístico de viagens e cargas dentro do Portal Único de Comércio Exterior. A documentação a seguir descreve os serviços da versão atual do sistema, disponível no ambiente de validação do setor privado. Não há, até o momento, versão disponível para uso em produção. O intuito da API é permitir que as empresas possam realizar testes, preparando as adaptações necessárias em seus sistemas. As informações encaminhadas para os endpoints, neste momento, não terão valor legal, nem serão reaproveitadas em produção. Os perfis de acesso que podem utilizar cada serviço encontram-se listados no manual do usuário. Os Operadores de Remessa Postal/Expressa podem atuar como transportador, agente de carga, depositário ou importador, desde que devidamente cadastrados nestes perfis de atuação. As ESATA (Empresas de Serviços Auxiliares ao Transporte Aéreo) podem interagir com os serviços desde que possuam representação para atuar como transportador ou agente de carga. Para executar as ações relacionadas à recepção de carga e à chegada de veículo terrestre (trânsito aduaneiro), os recintos aduaneiros (depositários) devem utilizar os serviços disponibilizados pela API Recintos Aduaneiros. Para a utilização dos serviços do CCT Importação – Modal Aéreo, a autenticação via certificação digital por e-CPF é obrigatória. Na seção Introdução da API do Portal Único de Comércio Exterior, podem ser encontradas as orientações gerais sobre os padrões de comunicação dos serviços, os procedimentos para autenticação e os códigos de resposta das requisições. Os serviços, a princípio, não estarão disponíveis no horário de 1:00h às 3:00h, em virtude de parada programada dos sistemas de comércio exterior. Os arquivos referentes à manifestação de viagens e cargas devem seguir o padrão Cargo XML da IATA (Associação Internacional de Transportes Aéreos). Para conhecimento dos elementos de dados, estrutura e formato do padrão XSD, deve-se buscar a informação no site da IATA (www.iata.org). Nesta API, serão detalhadas somente as informações solicitadas de forma diferente do padrão IATA. Serão solicitados aos transportadores aéreos os arquivos XFFM/XFWB, e aos agentes de carga os arquivos XFZB/XFHL, a serem enviados pelos serviços abaixo, descritos em maiores detalhes nas suas respectivas seções desta API: Os arquivos somente serão recebidos caso o XML esteja de acordo com o XSD da IATA. Os arquivos corretamente validados passarão à situação "Received" e receberão um número de protocolo associado ao recebimento desse arquivo, sendo encaminhados para processamento. Os arquivos que não forem validados pelo XSD da IATA terão situação "Rejected" e não receberão número de protocolo. Após a validação do XSD, será realizado o processamento do conteúdo dos campos dos arquivos. Este processamento inclui verificações, tais como: se o campo foi informado vazio ou acima do tamanho permitido, se as informações constam no cadastro da Receita Federal (CPF, CNPJ), etc., com vistas à gravação do dado na base. Os arquivos corretamente processados passarão à situação "Processed", e os que apresentarem algum tipo de erro passarão para "Rejected". A qualquer momento, a situação dos arquivos enviados pode ser consultada pelos seguintes serviços descritos nesta API: Durante o processamento, haverá batimento do conteúdo dos dados com tabelas de domínio. Os domínios que estão sendo validados e que podem causar rejeição de arquivo referem-se a: A lista de campos a serem informados e a definição de se eles são obrigatórios ou opcionais seguirão, via de regra, os padrões estabelecidos pela IATA, passando pela validação do XSD. As exceções serão mencionadas explicitamente na descrição dos serviços na API, fazendo parte do processamento dos arquivos. Os tipos e tamanhos de campos também seguirão, via de regra, os padrões estabelecidos pela IATA e, quando não validados pelo XSD, serão verificados no processamento. Serão processados os seguintes tipos de operação para os arquivos: Os arquivos XFFM, XFWB, XFZB e XFHL podem ser enviados em qualquer ordem, desde que cumpram com os prazos estabelecidos pela Receita Federal do Brasil. O escopo atual do projeto se encontra restrito a voos regulares. Voos não regulares serão objeto de versões futuras. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/ccta/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentro os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URL do serviço desejado. Exemplo: Para o serviço \"Informar Viagem - XFFM (Flight Manifest)\" a URL é \"/api/ext/incoming/xffm\". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/ccta/api/ext/incoming/xffm
* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento de viagens áereas com suas respectivas cargas. Uma viagem consiste em um voo específico, aeroporto de partida, aeroporto(s) de chegada(s) e data/hora de partida. Será permitida apenas uma mensagem <strong>(XFFM)</strong> por arquivo, contendo a operação Creation, na versão 2.00, conforme o padrão estabelecido pela IATA. Não há operação Update ou Deletion para este arquivo.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Inicialmente, somente serão aceitos arquivos de viagem <strong>XFFM</strong> com aeroporto de partida no exterior e o primeiro aeroporto de chegada no Brasil. Desta forma, o aeroporto de partida constante no <strong>XFFM</strong> deve ser referente à última partida antes de chegar ao Brasil. Todas as cargas que se encontram na aeronave, independentemente do destino final das cargas, devem constar do <strong>XFFM</strong>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A data/hora de partida efetiva da viagem deve ser anterior à data/hora da chegada da viagem, caso haja informação de chegada para a mesma.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos <strong>XFFM</strong> devem ser enviados uma única vez por viagem. Caso seja necessária alteração dos dados após o envio, pode ser enviado novo arquivo com a operação Creation, que deve conter a mesma identificação de viagem e data de criação posterior à anterior (FlightManifest/MessageHeaderDocument/IssueDateTime). Arquivos com mesma identificação de viagem e data de criação igual ou anterior serão rejeitados (situação "Rejected").</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A identificação da viagem (FlightManifest/BusinessHeaderDocument/ID) deve ser informada conforme o padrão IATA, contendo exatamente 17 posições, no formato XX9999AAAAMMDDYYY, sendo:</p><ul> <li>XX9999: Código do voo, formado por 2 caracteres da sigla IATA da CIA aérea e 4 caracteres do número de voo. Quando o número do voo contiver menos de 4 caracteres numéricos, devem ser informados zeros à esquerda.</li> <li>AAAAMMDD: Data de partida prevista do último aeroporto estrangeiro antes de vir ao Brasil.</li> <li>YYY: Aeroporto de partida do último aeroporto estrangeiro antes de vir ao Brasil.</li></ul><p style=\"margin-bottom: 1em; margin-top: 1em;\">Um arquivo <strong>XFFM</strong> que está sendo enviado pela primeira vez pode ser encaminhado a qualquer momento, inclusive após a chegada da aeronave. Já um arquivo que esteja substituindo o arquivo anterior poderá ser enviado após a primeira chegada da aeronave daquela viagem no Brasil, contanto que a retificação não seja para exclusão de conhecimentos de carga associados à viagem. Vale ressaltar que a troca do aeroporto de chegada de um conhecimento de carga não é considerada exclusão. Somente será considerada exclusão quando o conhecimento era mencionado no <strong>XFFM</strong> original e deixou de ser mencionado após a retificação, independentemente do aeroporto de chegada.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Após 48 horas da chegada da viagem, não é mais permitido alterar informações sobre os conhecimentos de carga (ex: indicador de parcialidade, peso, volumes, etc) previstos para este aeroporto, sendo permitida apenas a inclusão de novos conhecimentos de carga. Para os demais aeroportos, pode haver alterações normalmente até que ocorra a informação de chegada da viagem.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A retificação de uma viagem poderá ser realizada igualmente via tela, sendo permitido a cada Companhia Aérea retificar somente as suas viagens, considerando a representação do usuário que está utilizando o sistema.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para viagens com partida no exterior, devem ser enviados apenas arquivos <strong>XFFM</strong> com data da partida efetiva (A – Actual, após a partida do veículo) na tag FlightManifest/LogisticsTransportMovement/DepartureEvent/DepartureDateTimeTypeCode. Caso a data de partida seja prevista (S – Scheduled, antes da partida do veículo), o arquivo será rejeitado.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os conhecimentos de carga informados na viagem deverão ter código de classificação de mercadoria com 2, 4, 6 ou 8 posições em FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedMasterConsignmentItem/TypeCode. Esta tag poderá ser repetida caso seja desejado informar mais de um código.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todos os códigos de aeroporto devem ser informados com 3 caracteres, não sendo permitidos códigos UNLOCODE de 5 caracteres.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os indicadores de parcialidade, informados na tag FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/TransportSplitDescription, são divididos em dois grupos:</p><ul> <li>Total - valores T ou S</li> <li>Parcial - valores P, D ou M</li></ul><p style=\"margin-bottom: 1em; margin-top: 1em;\">Em um mesmo XFFM, um conhecimento de carga só pode ser informado dentro do mesmo grupo de parcialidade.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas com o fuso horário no padrão YYYY-MM-DD'T'HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, algumas informações poderão ser registradas no bloco de dados "OtherCustomsInformations", conforme apresentado a seguir:</p></br><h3 id=\"indicador-conhecimento\">Indicador de conhecimento de carga não IATA</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong> Caso seja informado um conhecimento de carga cuja identificação não esteja no padrão IATA, será obrigatório informar este indicador, caso contrário o arquivo será rejeitado.</p><table aria-describedby=\"indicador-conhecimento\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/ContendCode </td> <td>Informar "DI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/Content </td> <td>Informar "NON-IATA"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/SubjectCode </td> <td>Informar "WBI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/CountryID </td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"codigo-recinto\">Código do Recinto Aduaneiro da Chegada da Viagem</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong>Este indicador deverá ser utilizado para sinalizar que a carga não será recepcionada no recinto aduaneiro principal do aeroporto de chegada, não sendo portanto uma tag obrigatória. O recinto aduaneiro informado neste indicador terá visibilidade de todas as cargas com chegada neste aeroporto. Este indicador poderá ser informado para cada aeroporto de chegada informado no <strong>XFFM</strong>.</p><table aria-describedby=\"codigo-recinto\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/ContendCode</td> <td>Informar "M"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar "CUSTOMSWAREHOUSEXXX9999999"</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 26 caracteres, sendo:</p> <ul> <li>- 1º ao 16º caractere: texto fixo escrito CUSTOMSWAREHOUSE</li> <li>- 17º ao 19º caractere (XXX): sigla IATA do aeroporto de chegada da viagem com 3 posições</li> <li>- 20º ao 26º caractere (9999999): código do recinto aduaneiro que irá recepcionar as cargas</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/SubjectCode</td> <td>Informar "CCL"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>FlightManifest/LogisticsTransportMovement/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"data-emissao\">Data de emissão de conhecimento de carga</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong>Este indicador deve ser informado quando a viagem estiver vinculada a conhecimento de carga que foi emitido há mais de um ano da data efetiva de partida da viagem (conhecimento não vigente). Caso este indicador não seja informado, o sistema vinculará a viagem aos conhecimentos de cargas vigentes no sistema.</p><table aria-describedby=\"data-emissao\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/ContendCode </td> <td>Informar a tag com conteúdo vazio: ""</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/Content </td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar "CARRIERDECLARATIONDATEAAAAMMDD":</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 30 caracteres, sendo:</p> <ul> <li>- 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)</li> <li>- 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/SubjectCode </td> <td>Informar "WBI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>FlightManifest/ArrivalEvent/AssociatedTransportCargo/IncludedMasterConsignment/IncludedCustomsNote/CountryID </td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de viagem aérea (XFFM)</td> <td>Viagem com sua lista de conhecimentos</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 2.00 da IATA - informado pelas Companhias Aéreas</td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ da Companhia Aérea</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo "294"</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo "3.0"</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo "C"</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O’ (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED"</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED".</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED".</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status “<em>Received</em>”, acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio dos serviços <em>“Consultar Situação de Arquivos por Período”</em> ou <em>“Consultar Situação de Arquivos por número de Protocolo”</em>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status “<em>Rejected</em>”, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Received</em>\", haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip1\"> </span><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip2\"> </span><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificada.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.</td> </tr> </tbody></table>
- *
*/
@POST
@Path("/api/ext/incoming/xffm")
@@ -51,9 +49,8 @@ public interface ServiosDeEnvioDeArquivosApi {
/**
* Informar Associação Master e House - XFHL (House Manifest)
- *
+ *
* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento da associação entre um conhecimento de carga AWB (Air Waybill) ou MAWB (Master Air Waybill) e conhecimento(s) de carga HAWB (House Air Waybill).Será permitida apenas uma mensagem XFHL por arquivo, contendo a operação Creation, Update ou Deletion, na versão 2.00, conforme o padrão estabelecido pela IATA.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos com operação Update ou Deletion serão processados caso exista um arquivo com a operação Creation recebido anteriormente com sucesso no sistema, contendo a mesma identificação do conhecimento de carga do MAWB/AWB e vigente.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para que um MAWB/AWB seja considerado associado aos seus HAWB, deve haver arquivo de associação MAWB/HAWB (XFHL) que referencie o MAWB (XFWB) e a respectiva lista de HAWB (XFZB) associados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Um arquivo XFHL que está sendo enviado com a operação Creation pode ser encaminhado a qualquer momento, inclusive após a chegada da aeronave. Já um arquivo que tenha a operação Update (contanto que contenha a exclusão de alguma das associações) ou a operação Deletion somente será aceito até a primeira chegada da viagem no Brasil e caso a carga não esteja vinculada a um documento de saída. Nessas situações, as operações de retificação ou exclusão somente poderão ser realizadas por funcionalidade de tela (web) e pela RFB. Retificações somente para inclusão de associações são permitidas.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas contendo o fuso horário no padrão YYYY-MM-DD'T'HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, algumas informações poderão ser registradas no bloco de dados \"OtherCustomsInformations\", conforme apresentado a seguir:</p></br><h3 id=\"indicador-conhecimento\">Indicador de conhecimento de carga não IATA</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong> Caso seja informado um conhecimento de carga cuja identificação não esteja no padrão IATA, será obrigatório informar este indicador, caso contrário o arquivo será rejeitado.</p><table aria-describedby=\"indicador-conhecimento\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar "DI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar "NON-IATA"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "WBI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"indicador-agente-carga\">Identificação do Agente de Carga em cada HAWB (IncludedHouseConsignment) do XFHL</h3><table aria-describedby=\"indicador-agente-carga\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar "T"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar "CNPJ<número do CNPJ com 8 dígitos>":</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "AGT"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"data-emissao-awb\">Data de emissão de conhecimento de carga ocorrência para o AWB/MAWB (MasterConsignment)</h3><table aria-describedby=\"data-emissao-awb\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar a tag com conteúdo vazio: ""</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar "CARRIERDECLARATIONDATEAAAAMMDD":</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 30 caracteres, sendo:</p> <ul> <li>- 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)</li> <li>- 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "WBI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"data-emissao-hawb\">Data de emissão de conhecimento de carga ocorrência em cada HAWB (IncludedHouseConsignment)</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong> Este indicador deve ser informado quando o conhecimento de carga, seja o MAWB/AWB ou algum dos HAWB, foi emitido há mais de um ano da data efetiva de partida da viagem (conhecimento não vigente). Caso este indicador não seja informado, o sistema vinculará o MAWB/AWB vigente aos HAWB vigentes no sistema.</p><table aria-describedby=\"data-emissao-hawb\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar a tag com conteúdo vazio: ""</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Informar "CARRIERDECLARATIONDATEAAAAMMDD":</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">Contém 30 caracteres, sendo:</p> <ul> <li>- 1º ao 22º caractere: CARRIERDECLARATIONDATE (texto fixo)</li> <li>- 23º ao 30º caractere (AAAAMMDD): data de emissão do conhecimento que será associado</li> </ul> </td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "WBI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseManifest/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de associação (XFHL)</td> <td>Associação entre <em>master</em>(MAWB) e <em>house</em>(HAWB)</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 2.00 da IATA - informado pelos Agentes de Carga ou pelo Operador de Remessa Postal / Expressa </td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ do Agente de Carga ou do Operador de Remessa Postal / Expressa</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta-\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo "294"</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo "3.0"</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo "C"</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O” (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com \"NOT IDENTIFIED\".</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com \"NOT IDENTIFIED\".</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com \"NOT IDENTIFIED\".</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status \"Received\", acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio por meio dos serviços \"Consultar Situação de Arquivos por Data\" ou \"Consultar Situação de Arquivos por número de Protocolo\".</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status “<em>Rejected</em>”, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Received</em>”, haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip1\"> </span><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip2\"> </span><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificado.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.</td> </tr> </tbody></table>
- *
*/
@POST
@Path("/api/ext/incoming/xfhl")
@@ -73,9 +70,8 @@ public interface ServiosDeEnvioDeArquivosApi {
/**
* Informar Conhecimento de Carga - XFWB (Freight Waybill)
- *
+ *
* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento de conhecimentos de cargas do tipo <strong>AWB (Air Waybill)</strong> ou <strong>MAWB (Master Air Waybill)</strong>. Será permitida apenas uma mensagem <strong>XFWB</strong> por arquivo, contendo a operação <em>Creation</em>, <em>Update</em> ou <em>Deletion</em>, na versão 3.00, conforme o padrão estabelecido pela IATA..<p style=\"margin-bottom: 1em; margin-top: 1em;\">Um conhecimento de carga poderá ser informado de forma repetida contanto que não existam dois conhecimentos de carga vigentes ao mesmo tempo. Desta forma não pode haver repetição de um conhecimento de carga num período de 365 dias a partir da sua emissão.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos de operação <em>Update</em> ou <em>Deletion</em> serão processados caso exista um arquivo com a operação <em>Creation</em> recebido anteriormente com sucesso no sistema, tendo a mesma identificação do <strong>AWB/MAWB (Waybill/BusinessHeaderDocument/ID)</strong> e data de emissão.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A alteração de um <strong>AWB/MAWB</strong> poderá ocorrer por serviço caso não tenha ocorrido entrega final ao importador, seja esta parcial ou total. Já a exclusão do <strong>AWB/MAWB</strong> só poderá ocorrer até o momento da chegada da primeira parte ou do total da carga em um aeroporto brasileiro.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para que um <strong>AWB/MAWB</strong> seja considerado como manifestado em uma viagem, o conhecimento de carga <strong>(XFWB)</strong> deve ser referenciado no arquivo da viagem <strong>(XFFM)</strong>. Para tal, a identificação do <strong>AWB/MAWB</strong> deve ser igual em ambos os arquivos. Além disso, tanto o arquivo <strong>XFFM</strong> quanto o arquivo <strong>XFWB</strong> devem se encontrar na situação <em>Processed</em>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">O conhecimento de carga será vinculado à viagem de acordo com sua data de emissão, que deve ser menor ou igual à data de partida efetiva da viagem.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">O agrupamento de informações de mercadoria (Waybill/MasterConsignment/ApplicableRating) obrigatório é o agrupamento do tipo "F" (Waybill/MasterConsignment/ApplicableRating/TypeCode), que se refere ao valor de face.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">O agrupamento de informações de forma de pagamento do frete (Waybill/MasterConsignment/ApplicableTotalRating/ApplicablePrepaidCollectMonetarySummation/PrepaidIndicator) poderá ter no máximo duas ocorrências, sendo uma prepaid e a outra collect.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os conhecimentos de carga informados deverão ter código de classificação de mercadoria <strong>(NCM)</strong> com 2, 4, 6 ou 8 posições em Waybill/MasterConsignment/ApplicableRating/IncludedMasterConsignmentItem/TypeCode. Esta tag poderá ser repetida caso seja desejado informar mais de um código NCM.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as unidades de medida de peso deverão ser informadas como unidades de medida de massa.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todos os códigos de aeroportos informados no sistema devem ser informados com 3 caracteres, não sendo aceito código UNLOCODE de 5 caracteres.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, os campos abaixo são de informação obrigatória. Caso o arquivo não apresente as informações a seguir, ele será rejeitado em tempo de processamento.</p></br><h3 id=\"ip1\"><strong>Número Total de Volumes</strong></h3><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY/Total number of pieces</td> <td>Waybill/MasterConsignment/TotalPieceQuantity</td> </tr> </tbody></table></br><h3 id=\"ip2\"><strong>Peso Bruto Total</strong></h3><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY/Total Gross Weight</td> <td>Waybill/MasterConsignment/IncludedTareGrossWeightMeasure</td> </tr> </tbody></table></br><h3 id=\"ip3\"><strong>Peso Bruto Total - Unidade de Medida</strong></h3><table aria-describedby=\"ip3\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY/Total Gross Weight Unit of Measurement</td> <td>Waybill/MasterConsignment/IncludedTareGrossWeightMeasure (unit code)</td> </tr> </tbody></table></br><h3 id=\"ip4\" ><strong>Descrição das Mercadorias</strong> - Deve ser informado ao menos uma vez por arquivo</h3><table aria-describedby=\"ip4\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL BODY / Rating Type / Rating Type Indicator / Item Details / Item Description</td> <td>Waybill / MasterConsignment / ApplicableRating / IncludedMasterConsignmentItem / NatureIdentificationTransportCargo / Identification</td> </tr> </tbody></table></br><h3 id=\"ip5\"><strong>Valor Total do Frete</strong></h3><table aria-describedby=\"ip5\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator / Total Charge Summary</td> <td>Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / GrandTotalAmount</td> </tr> </tbody></table></br><h3 id=\"ip6\" ><strong>Forma de Pagamento do Frete (Prepaid, Collect)</strong></h3><table aria-describedby=\"ip6\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>WAYBILL SUMMARY / Waybill Totals / Rating Type Indicator / Prepaid / Collect Indicator</td> <td>Waybill / MasterConsignment / ApplicableTotalRating / ApplicablePrepaidCollectMonetarySummation / PrepaidIndicator</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Caso o tipo de conhecimento de carga seja <strong>MAWB</strong>, as informações de pagamento do frete e valor do frete não serão obrigatórias. Desta forma, o valor do frete para o MAWB pode ser zero.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação de identificação do consignatário não é obrigatória. Porém, caso a mesma não tenha sido informada no, <strong>AWB</strong> até o momento da chegada da viagem, o sistema realizará um bloqueio automático na carga. Para <strong>MAWB</strong>, não haverá bloqueio pela falta de informação da identificação do consignatário.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, existem informações que poderão ser registradas no bloco de dados "Other Customs Informations", não sendo obrigatórias nas versões iniciais.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">São elas:</p></br><h3 id=\"indicador-conhecimento\">Indicador de conhecimento de carga não IATA</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>OBS:</strong>Caso seja informado um AWB ou MAWB cuja identificação não siga o padrão IATA, é obrigatório informar este indicador. Caso contrário, o arquivo será rejeitado.</p><table aria-describedby=\"indicador-conhecimento\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContendCode</td> <td>Informar "DI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar "NON-IATA"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "WBI"</td> <td></td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> <td></td> </tr> </tbody></table></br><h3 id=\"ip7\"><strong>Indicador de Presença de Partes e Peças de Madeira Maciça</strong></h3><table aria-describedby=\"ip7\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "DI"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar "WOOD PARTS"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "OCI"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip8\" ><strong>Indicador de Não Recepção dos HAWB Associados no Aeroporto de Destino</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs:</strong>Quando este campo OCI for informado, o indicador será preenchido com "sim". Quando esse campo OCI não for informado, o indicador será preenchido com "não".<br> Quando o indicador for "sim", a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada pelo MAWB, e não por seus HAWB associados.<br> Quando for "não", a orientação é de que a recepção no aeroporto de destino do conhecimento seja realizada diretamente pelos HAWB.<br> Este indicador não deve ser levado em consideração nas recepções realizadas em unidades que não sejam o aeroporto de destino do conhecimento. Nestes casos, indica-se como padrão a recepção pelo MAWB.</p><table aria-describedby=\"ip8\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "DI"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar "DO NOT BREAK DOWN"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "HDL"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip9\" ><strong>Identificação do Consignatário</strong></h3><table aria-describedby=\"ip9\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "T"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CPF informar "CPF<número do CPF com 11 dígitos>" . Ex: CPF12345678901</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CNPJ informar "CNPJ<número do CNPJ com 8 ou 14 dígitos>". Ex:CNPJ12345678901234</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um Passaporte informar "PASSPORT<número do passaporte com até 25 posições>. Ex:PASSPORTC12345678.</p> </td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "CNE"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information /Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip10\" ><strong>RUC (Referência Única da Carga) / UCR (Unique Consignment Reference)</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs:</strong>Caso a informação da RUC não seja encaminhada no arquivo, o sistema gerará automaticamente um número RUC para a carga. Se a RUC for informada, deverá atender à recomendação da Organização Mundial de Aduanas (OMA) para a Unique Consignment Reference (UCR).</p><table aria-describedby=\"ip10\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "U"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar UCR<número da RUC com até 32 posições>. Ex: UCR8BR167017161001713D0000000000004021</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "IMP"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip11\" ><strong>Código do Recinto Aduaneiro de Destino da Carga</strong></h3><table aria-describedby=\"ip11\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "M"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/Content</td> <td>Informar "CUSTOMSWAREHOUSE<número do Código do Recinto Aduaneiro de Destino da Carga com 7 dígitos>". Ex:CUSTOMSWAREHOUSE1234567</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "CCL"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>Waybill/MasterConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas com o fuso horário no padrão <strong>“YYYY-MM-DD'T'HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ”</strong>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de conhecimento de carga (XFWB)</td> <td>Conhecimentos de carga(AWB e MAWB)</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 3.00 da IATA - informado pelas Companhias Aéreas</td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ da Companhia Aérea</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta-\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo "294"</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo "3.0"</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo "C"</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O’ (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED"</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED".</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED".</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status "<em>Received</em>", acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio dos serviços "Consultar Situação de Arquivos por Data" ou "Consultar Situação de Arquivos por número de Protocolo".</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status "<em>Rejected</em>", acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a "<em>Received</em>", haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip12\"> </span><table aria-describedby=\"ip12\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip13\"> </span><table aria-describedby=\"ip13\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificado.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.</td> </tr> </tbody></table>
- *
*/
@POST
@Path("/api/ext/incoming/xfwb")
@@ -95,9 +91,8 @@ public interface ServiosDeEnvioDeArquivosApi {
/**
* Informar Conhecimento de Carga House - XFZB (House Air Waybill)
- *
+ *
* <p style=\"margin-bottom: 1em; margin-top: 1em;\">Encaminhamento de arquivo XML para processamento de conhecimentos de cargas house (HAWB - <em>House Air Waybill</em>). Será permitida apenas uma mensagem XFZB por arquivo, contendo a operação de <em>Creation</em>, <em>Update</em> ou <em>Deletion</em>, conforme o padrão IATA.<p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos de operação Update ou Deletion serão processados, caso exista um arquivo de Creation recebido anteriormente com sucesso no sistema, tendo a mesma identificação do conhecimento de carga do HAWB. A identificação do conhecimento de carga HAWB é feita pelo conjunto da informação de número do HAWB (HouseWaybill/BusinessHeaderDocument/ID) e aeroporto de origem da carga do HAWB (HouseWaybill/MasterConsignment/IncludedHouseConsignment/OriginLocation/ID).</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para que um HAWB seja considerado associado a um MAWB(XFWB), deve haver arquivo de associação MAWB/HAWB(XFHL), que referencie o HAWB (XFZB), por meio de suas respectivas identificações do MAWB/HAWB e aeroporto de origem da carga. Além disso, todos os arquivos (XFHL, XFWB e XFZB) devem se encontrar na situação "<em>Processed</em>".</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Um arquivo XFZB que está sendo enviado com a operação Creation pode ser encaminhado por este serviço a qualquer momento, inclusive após a chegada da aeronave. Já um arquivo que tenha a operação Update ou Deletion, somente será aceito pelo serviço até a informação da chegada da aeronave e caso a carga não esteja vinculada a um documento de saída. No caso da exclusão, esta operação também não será permitida caso o HAWB já esteja vinculado a seu MAWB, conforme a regra de associação acima mencionada. Nessas situações, as operações de retificação ou exclusão somente poderão ser realizadas por funcionalidades de tela (web) a serem disponibilizadas futuramente, e não mais por arquivo XML. A funcionalidade de exclusão será restrita para uso da RFB.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os conhecimentos de carga informados deverão ter código de classificação de mercadoria <strong>(NCM)</strong> com 2, 4, 6 ou 8 posições em HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedHouseConsignmentItem/TypeCode. Esta tag poderá ser repetida caso seja desejado informar mais de um código NCM.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os valores totais de HAWB a serem informados, serão obrigatórios somente com relação ao valor de face (<strong>"F"</strong>).</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, os campos abaixo são de informação obrigatória. Caso o arquivo não apresente as informações a seguir, ele será rejeitado em tempo de processamento.</p></br><h3 id=\"ip1\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Número Total de Volumes</strong></h3><table aria-describedby=\"ip1\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY /Total number of pieces</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / TotalPieceQuantity</td> </tr> </tbody></table></br><h3 id=\"ip2\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Peso Bruto Total</strong></h3><table aria-describedby=\"ip2\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / Total Gross Weight</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / IncludedTareGrossWeightMeasure</td> </tr> </tbody></table></br><h3 id=\"ip3\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Peso Bruto Total - Unidade de Medida</strong></h3><table aria-describedby=\"ip3\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / Total Gross Weight</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / IncludedTareGrossWeightMeasure (unit code) </td> </tr> </tbody></table></br><h3 id=\"ip4\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Descrição das Mercadorias</strong></h3><table aria-describedby=\"ip4\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / Description of Goods</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / SummaryDescription</td> </tr> </tbody></table></br><h3 id=\"ip5\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Valor Total do Frete PREPAID</strong></h3><table aria-describedby=\"ip5\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / House Waybill Totals / Total Prepaid Charge Summary Amount</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / TotalPrepaidChargeAmount</td> </tr> </tbody></table></br><h3 id=\"ip6\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Valor Total do Frete COLLECT</strong></h3><table aria-describedby=\"ip6\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> </tr> </thead> <tbody> <tr> <td>HOUSE WAYBILL SUMMARY / House Waybill Totals / Total Collect Charge Summary Amount</td> <td>HouseWaybill / MasterConsignment / IncludedHouseConsignment / TotalCollectChargeAmount</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação de identificação do consignatário não é obrigatória, porém, caso a mesma não conste do HAWB no momento da chegada da viagem, o sistema realizará um bloqueio automático na carga.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">De acordo com a necessidade da Receita Federal do Brasil, existem informações que poderão ser registradas no bloco de dados \"Other Customs Informations\", não sendo obrigatórias nas versões iniciais.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">São elas:</p></br><h3 id=\"ip7\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Indicador de Presença de Partes e Peças de Madeira Maciça</strong></h3><table aria-describedby=\"ip7\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "DI"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar "WOOD PARTS"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "OCI"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information /Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip8\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Identificação do Consignatário</strong></h3><table aria-describedby=\"ip8\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "T"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information /Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CPF informar "CPF<número do CPF com 11 dígitos>" . Ex: CPF12345678901</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um CNPJ informar "CNPJ<número do CNPJ com 8 ou 14 dígitos>". Ex:CNPJ12345678901234</p> <p style=\"margin-bottom: 1em; margin-top: 1em;\">- Se for um Passaporte informar "PASSPORT<número do passaporte com até 25 posições>. Ex:PASSPORTC12345678.</p> </td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "CNE" consignatário</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip9\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>RUC (Referência Única da Carga) / UCR (Unique Consignment Reference)</strong></h3><p style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Obs</strong>: Caso a informação da RUC não seja encaminhada no arquivo, o sistema gera automaticamente um número para a carga. Se a RUC for informada, deverá atender a recomendação da Organização Mundial de Aduanas (OMA) para a Unique Consignment Reference (UCR).</p><table aria-describedby=\"ip9\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "U"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar UCR<número da RUC com até 32 posições>. Ex: UCR8BR167017161001713D0000000000004021</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "IMP"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table></br><h3 id=\"ip10\" style=\"margin-bottom: 1em; margin-top: 1em;\"><strong>Código do Recinto Aduaneiro de Destino da Carga</strong></h3><table aria-describedby=\"ip10\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Other Customs, Security and Regulatory Control Information / Customs, Security and Regulatory Control Information Identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/ContentCode</td> <td>Informar "M"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Supplementary Customs, Security and Regulatory Control Information</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/Content</td> <td>Informar "CUSTOMSWAREHOUSE<número do Código do Recinto Aduaneiro de Destino da Carga com 7 dígitos>". Ex:CUSTOMSWAREHOUSE1234567</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Information identifier</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/SubjectCode</td> <td>Informar "CCL"</td> </tr> <tr> <td>Other Customs, Security and Regulatory Control Information / Country code</td> <td>HouseWaybill/MasterConsignment/IncludedHouseConsignment/IncludedCustomsNote/CountryID</td> <td>Informar "BR"</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Todas as informações de data no arquivo devem ser encaminhadas com o fuso horário no padrão <strong>"YYYY-MM-DD'T'HH:mm:ss:SSS(‘+’/’-’)ZZ:ZZ"</strong>.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">A informação do fuso horário de partida ou chegada da aeronave refere-se ao fuso horário local. A data de criação do arquivo deverá ser informada com o fuso do local onde foi criado.</p></br><h3 id=\"par-metros-de-entrada-\">Parâmetros de Entrada:</h3><table aria-describedby=\"par-metros-de-entrada-\"> <thead> <tr> <th>Nome</th> <th>Descrição</th> <th>Tipo</th> <th>Local</th> <th>Detalhes</th> </tr> </thead> <tbody> <tr> <td>Arquivo de conhecimento de carga (XFZB)</td> <td>Conhecimentos de carga <em>House</em>(HAWB)</td> <td>Arquivo XML <strong>obrigatório</strong></td> <td>Body</td> <td>Versão 3.00 da IATA - informado pelos Agentes de Carga ou pelo Operador de Remessa Postal / Expressa </td> <td></td> </tr> <tr> <td>CNPJ</td> <td>CNPJ do Agente de Carga ou do Operador de Remessa Postal / Expressa</td> <td>Numérico(14) <strong>obrigatório</strong></td> <td>Query Param</td> <td>CNPJ (formato 99999999999999)</td> <td></td> </tr> </tbody></table></br><h3 id=\"resposta-\">Resposta :</h3><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os serviços de recebimento de arquivos terão o retorno de processamento por arquivo XFNM na versão 3.00, com as seguintes informações:</p><table aria-describedby=\"resposta-\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Message Reference ID</td> <td>MessageHeaderDocument / ID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Message Name</td> <td>MessageHeaderDocument / Name</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Type</td> <td>MessageHeaderDocument / TypeCode</td> <td>Fixo "294"</td> </tr> <tr> <td>Message Date / Time Stamp</td> <td>MessageHeaderDocument / IssueDateTime</td> <td>Data / hora de processamento do arquivo - UTC time</td> </tr> <tr> <td>Message Function</td> <td>MessageHeaderDocument / PurposeCode</td> <td>Fixo "Response"</td> </tr> <tr> <td>Message Version</td> <td>MessageHeaderDocument / VersionID</td> <td>Fixo "3.0"</td> </tr> <tr> <td>Sender Qualifier</td> <td>MessageHeaderDocument / SenderParty / schemeID</td> <td>Fixo "C"</td> </tr> <tr> <td>Sender Identification</td> <td>MessageHeaderDocument / SenderParty / PrimaryID</td> <td>Fixo "BRCUSTOMS"</td> </tr> <tr> <td>Recipient Qualifier</td> <td>MessageHeaderDocument / RecipientParty / schemeID</td> <td>Valor do campo Sender Qualifier (tag MessageHeaderDocument / SenderParty / schemeID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com “O’ (letra O)</td> </tr> <tr> <td>Recipient Identification</td> <td>MessageHeaderDocument / RecipientParty / PrimaryID</td> <td>Valor do campo Sender Identification (tag MessageHeaderDocument / SenderParty / PrimaryID) do arquivo recebido. Caso não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED"</td> </tr> <tr> <td>Message Type</td> <td>BusinessHeaderDocument / TypeCode</td> <td>Valor do campo Message Type (tag MessageHeaderDocument / TypeCode) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com 999.</td> </tr> <tr> <td>Message Name</td> <td>BusinessHeaderDocument / Name</td> <td>Valor do campo Message Name (tag MessageHeaderDocument / Name) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED".</td> </tr> <tr> <td>Original Document Identification</td> <td>BusinessHeaderDocument / ID</td> <td>Valor do campo Message Reference ID (tag MessageHeaderDocument / ID) do arquivo original. Caso este campo não seja passível de identificação ou for inválido ou não vier preenchido, será preenchido com "NOT IDENTIFIED".</td> </tr> <tr> <td>Response Type</td> <td>BusinessHeaderDocument / StatusCode</td> <td>“<em>Received</em>” , “<em>Rejected</em>” ou “<em>Processed</em>” – conforme processamento do arquivo. Na versão atual, haverá resposta apenas nas situações “<em>Received</em>” (arquivo recebido e será processado) ou “<em>Rejected</em>”(arquivo foi rejeitado)</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Os arquivos que passarem pela validação do XSD (formato estabelecido pela IATA), receberão status “Received”, acompanhado do número de protocolo gerado para este arquivo. Este número de protocolo pode ser utilizado para verificar a situação de processamento do arquivo por meio dos serviços “Consultar Situação de Arquivos por Data” ou “Consultar Situação de Arquivos por número de Protocolo”.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Já os arquivos que não passarem pela validação do XSD (formato estabelecido pela IATA) receberão status “Rejected”, acompanhado da lista de erros encontrados.</p><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Received</em>”, haverá somente um registro do bloco de dados Response Status, conforme abaixo. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip11\"> </span><table aria-describedby=\"ip11\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Acknowledgement</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Número do protocolo de recebimento</td> </tr> </tbody></table><p style=\"margin-bottom: 1em; margin-top: 1em;\">Para arquivos com o campo Response Type igual a “<em>Rejected</em>”, cada ocorrência de erro conterá as seguintes informações no bloco de dados Response Status. O campo "Text" terá tamanho de 5000 caracteres, diferentemente do padrão estabelecido pela IATA.</p><span id=\"ip12\"> </span><table aria-describedby=\"ip12\"> <thead> <tr> <th>Campo</th> <th>Tag XML</th> <th>Valor</th> </tr> </thead> <tbody> <tr> <td>Category</td> <td>ResponseStatus / ConditionCode</td> <td>Error</td> </tr> <tr> <td>Text</td> <td>ResponseStatus / Reason</td> <td>Texto contendo a linha e coluna com erro, (informando Row:<número da linha> | Column:<número da coluna>) e a descrição do erro verificada.Tamanho do campo: 5000 posições. Ex: "Row:7|Column:20|Error: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"iata:datamodel:3":PurposeCode}'. One of '{"iata:datamodel:3":IssueDateTime}' is expected.</td> </tr> </tbody></table>
- *
*/
@POST
@Path("/api/ext/incoming/xfzb")
diff --git a/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java b/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java
index 624e5ec..0d14629 100644
--- a/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/classif/api/ServioPblicoNomenclaturaApi.java
@@ -13,16 +13,14 @@
/**
* Classificação Fiscal de Mercadoria
*
- * Bem-vindo à API do sistema Classificação Fiscal de Mercadorias (Classif). O Classificação Fiscal de Mercadorias fornece a relação dos atributos configurados pelos órgãos de governo para os códigos de mercadoria (NCM). A relação é atualizada diariamente, durante a madrugada, e pode ser consultada para a data atual. O serviço disponibilizado nesta API é \"nomenclatura\", cuja especificação será descrita abaixo. Para utilizar o serviço, deve-se acessar uma das URLs que seguem, de acordo com o ambiente utilizado: Bem-vindo à API do sistema Classificação Fiscal de Mercadorias (Classif). O Classificação Fiscal de Mercadorias fornece a relação dos atributos configurados pelos órgãos de governo para os códigos de mercadoria (NCM). A relação é atualizada diariamente, durante a madrugada, e pode ser consultada para a data atual. O serviço disponibilizado nesta API é \"nomenclatura\", cuja especificação será descrita abaixo. Para utilizar o serviço, deve-se acessar uma das URLs que seguem, de acordo com o ambiente utilizado: Disponível apenas para as Secretarias de Fazenda (SEFAZ). Disponível apenas para as Secretarias de Fazenda (SEFAZ). Disponível apenas para as Secretarias de Fazenda (SEFAZ). Disponível apenas para as Secretarias de Fazenda (SEFAZ). Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/duimp-api/api/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentre os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URI do serviço desejado. Exemplo: Para o serviço "Consulta dos dados gerais da versão vigente de uma Duimp" a URI é "ext/duimp/{numero}/{versao}". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/duimp-api/api/ext/duimp/20BR00001001899/1 Obs: Todas as operações contam com uma descrição geral da operação abaixo da url, além da descrição resumida exibida ao seu lado.
+ * Use esta funcionalidade para recuperar os valores calculados de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento.
+ */
+ @GET
+ @Path("/ext/duimp/{numero-duimp}/{versao-duimp}/valores-calculados")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Consultar valores calculados da Duimp.", notes = "Use esta funcionalidade para recuperar os valores calculados de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento.", tags = {"Dados gerais da Duimp"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ValoresCalculadosDuimpCover.class),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 404, message = "Recurso não encontrado"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor")})
+ Response buscarValoresCalculadosDuimp(@ApiParam(value = "Número da Duimp. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/duimp-api/api/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentre os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URI do serviço desejado. Exemplo: Para o serviço "Consulta dos dados gerais da versão vigente de uma Duimp" a URI é "ext/duimp/{numero}/{versao}". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/duimp-api/api/ext/duimp/20BR00001001899/1 Obs: Todas as operações contam com uma descrição geral da operação abaixo da url, além da descrição resumida exibida ao seu lado.
+ * Use esta funcionalidade para recuperar os valores calculados de um item específico de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento.
+ */
+ @GET
+ @Path("/ext/duimp/{numero-duimp}/{versao-duimp}/itens/{numero-item}/valores-calculados")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Consultar valores calculados de um item da Duimp.", notes = "Use esta funcionalidade para recuperar os valores calculados de um item específico de uma Duimp em rascunho ou uma solicitação de retificação em rascunho, para pagamento.", tags = {"Itens da Duimp"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ValoresCalculadosItemCover.class),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 404, message = "Recurso não encontrado"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor")})
+ Response buscarValoresCalculadosItemDuimp(@ApiParam(value = "Número da Duimp. Para utilizar os serviços disponíveis nessa API deve-se seguir o seguinte padrão de URL: https://{ambiente}/duimp-api/api/{serviço} Onde, em {ambiente} deve-se informar o ambiente desejado dentre os ambientes disponíveis na tabela abaixo e em {serviço} utilizar a URI do serviço desejado. Exemplo: Para o serviço "Consulta dos dados gerais da versão vigente de uma Duimp" a URI é "ext/duimp/{numero}/{versao}". Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação, consumindo este serviço https://val.portalunico.siscomex.gov.br/duimp-api/api/ext/duimp/20BR00001001899/1 Obs: Todas as operações contam com uma descrição geral da operação abaixo da url, além da descrição resumida exibida ao seu lado.
+ * Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar dados gerais.
+ */
+ @GET
+ @Path("/ext/modelo/duimp/{numero-duimp}/{versao-duimp}")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recuperar modelo dos dados gerais da Duimp.", notes = "Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar dados gerais.", tags = {"Modelos da Duimp"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpCover.class),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 404, message = "Recurso não encontrado"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor")})
+ Response buscarDadosCapaDuimp(@ApiParam(value = "Número da Duimp.", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Recuperar modelo dos dados dos itens da Duimp.
+ *
+ * Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar os dados dos itens da Duimp.
+ */
+ @GET
+ @Path("/ext/modelo/duimp/{numero-duimp}/{versao-duimp}/itens")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recuperar modelo dos dados dos itens da Duimp.", notes = "Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade salvar os dados dos itens da Duimp.", tags = {"Modelos da Duimp"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = ItemCover.class, responseContainer = "List"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 404, message = "Recurso não encontrado"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor")})
+ Response buscarDadosItensDuimp(@ApiParam(value = "Número da Duimp.", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.", required = true) @PathParam("versao-duimp") Object versaoDuimp, @NotNull @ApiParam(value = "Se refere ao primeiro item a ser retornado.", required = true) @QueryParam("inicial") Object inicial, @NotNull @ApiParam(value = "Se refere a quantidade de itens retornados.", required = true) @QueryParam("tamanho") Object tamanho, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Recuperar modelo da solicitação de registro da Duimp.
+ *
+ * Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade de registro da Duimp.
+ */
+ @GET
+ @Path("/ext/modelo/duimp/{numero-duimp}/{versao-duimp}/registros")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recuperar modelo da solicitação de registro da Duimp.", notes = "Use esta funcionalidade para gerar o JSON que servirá de modelo para a funcionalidade de registro da Duimp.", tags = {"Modelos da Duimp"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = RegistroCover.class),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida"),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 404, message = "Recurso não encontrado"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor")})
+ Response buscarModeloRegistroDuimp(@ApiParam(value = "Número da Duimp.", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoCover.java
new file mode 100644
index 0000000..cc20b4e
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoCover.java
@@ -0,0 +1,171 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AcrescimoDeducaoCover", propOrder =
+ {"tipo", "moeda", "denominacao"
+ })
+
+@XmlRootElement(name = "AcrescimoDeducaoCover")
+/**
+ * Lista de Acréscimos e Deduções da condição de venda da mercadoria.
+ **/
+@ApiModel(description = "Lista de Acréscimos e Deduções da condição de venda da mercadoria.")
+public class AcrescimoDeducaoCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("ACRESCIMO")
+ @JsonProperty("ACRESCIMO")
+ ACRESCIMO("ACRESCIMO"),
+
+ @XmlEnumValue("DEDUCAO")
+ @JsonProperty("DEDUCAO")
+ DEDUCAO("DEDUCAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo", required = true)
+ @ApiModelProperty(example = "ACRESCIMO", required = true, value = "Tipo de Operação (acreścimo ou dedução). No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
+ */
+@Path("/")
+@Api(value = "/", description = "")
+public interface DuimpDadosDeItensApi {
+
+ /**
+ * Recupera as informações dos Dados de itens das Duimps solicitadas como parâmetros.
+ */
+ @GET
+ @Path("/duimp/itens")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recupera as informações dos Dados de itens das Duimps solicitadas como parâmetros.", notes = "", tags = {"Duimp - Dados de Itens"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpItemBalancaComercialCover.class, responseContainer = "List"),
+ @ApiResponse(code = 206, message = "Resultado parcial. Utilize o mecanismo de paginação para recuperar mais dados", response = DuimpItemBalancaComercialCover.class, responseContainer = "List"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErro.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErro.class),
+ @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErro.class),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErro.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErro.class)})
+ Response obterDadosItensV2UsingGET(@ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
+ */
+@Path("/")
+@Api(value = "/", description = "")
+public interface DuimpDadosGeraisApi {
+
+ /**
+ * Recupera as informações dos Dados Gerais das Duimps selecionadas de acordo com os parâmetros informados.
+ */
+ @GET
+ @Path("/duimps")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recupera as informações dos Dados Gerais das Duimps selecionadas de acordo com os parâmetros informados.", notes = "", tags = {"Duimp - Dados Gerais"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = DuimpBalancaComercialCover.class, responseContainer = "List"),
+ @ApiResponse(code = 206, message = "Resultado parcial. Utilize o mecanismo de paginação para recuperar mais dados", response = DuimpBalancaComercialCover.class, responseContainer = "List"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErroBalanca.class)})
+ Response obterDadosGeraisUsingGET(@ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
+ */
+@Path("/")
+@Api(value = "/", description = "")
+public interface DuimpTotalizadoresApi {
+
+ /**
+ * Recupera os dados do Sumário: Lista de Totalizadores agrupados por data.
+ */
+ @GET
+ @Path("/totalizadores/sumarios")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recupera os dados do Sumário: Lista de Totalizadores agrupados por data.", notes = "", tags = {"Duimp - Totalizadores"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = BalancaDuimpSumarioCover.class, responseContainer = "List"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErroBalanca.class)})
+ Response obterDadosSumarioUsingGET(@NotNull @ApiParam(value = "Data inicial de desembaraço a ser considerada no filtro de pesquisa. Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex. Disponibilizamos os endpoints de 22 eventos. Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API. O processo de autenticação deve ser executado conforme descrito em Autenticação. Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022: I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro; O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto. O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado. Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente. A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados. O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro. Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso. Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal: 1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8; O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido. Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido. Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo. Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs: Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas: https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex. Disponibilizamos os endpoints de 22 eventos. Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API. O processo de autenticação deve ser executado conforme descrito em Autenticação. Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022: I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro; O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto. O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado. Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente. A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados. O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro. Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso. Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal: 1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8; O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido. Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido. Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo. Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs: Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas: https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex. Disponibilizamos os endpoints de 22 eventos. Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API. O processo de autenticação deve ser executado conforme descrito em Autenticação. Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022: I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro; O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto. O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado. Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente. A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados. O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro. Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso. Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal: 1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8; O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido. Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido. Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo. Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs: Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas: https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex. Disponibilizamos os endpoints de 22 eventos. Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API. O processo de autenticação deve ser executado conforme descrito em Autenticação. Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022: I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;CADA - Cadastro de Atributos
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api Serviços de Download das Relações
Serviços de Consulta
- *
+ * CADA - Cadastro de Atributos
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api Serviços de Download das Relações
Serviços de Consulta
*/
@Path("/")
@Api(value = "/", description = "")
@@ -34,7 +33,6 @@ public interface RelaoDeAtributosApi {
/**
* Consulta de dados de atributos pelo código
- *
*/
@POST
@Path("/ext/atributo/consulta-codigo")
@@ -54,7 +52,6 @@ public interface RelaoDeAtributosApi {
/**
* Consulta de dados de atributos pelo nome
- *
*/
@POST
@Path("/ext/atributo/consulta-nome")
@@ -74,7 +71,6 @@ public interface RelaoDeAtributosApi {
/**
* Download do arquivo com a relação de atributos, independente dos vínculos
- *
*/
@GET
@Path("/ext/atributo/download/{tipo}")
@@ -91,7 +87,6 @@ public interface RelaoDeAtributosApi {
/**
* Consulta histórico de versões
- *
*/
@GET
@Path("/ext/atributo/historico-versoes")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java
index 2ef5d9e..54ed00d 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorFundamentoLegalApi.java
@@ -18,8 +18,7 @@
/**
* Cadastro de Atributos
*
- * CADA - Cadastro de Atributos
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api Serviços de Download das Relações
Serviços de Consulta
- *
+ * CADA - Cadastro de Atributos
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api Serviços de Download das Relações
Serviços de Consulta
*/
@Path("/")
@Api(value = "/", description = "")
@@ -27,7 +26,6 @@ public interface RelaoDeAtributosPorFundamentoLegalApi {
/**
* Consulta da relação de atributos por Fundamento Legal
- *
*/
@GET
@Path("/ext/atributo-fundamento-legal/{codigo-fundamento-legal}")
@@ -44,7 +42,6 @@ public interface RelaoDeAtributosPorFundamentoLegalApi {
/**
* Download do arquivo com a relação de atributos por Fundamento Legal
- *
*/
@GET
@Path("/ext/atributo-fundamento-legal/download/{tipo}")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java
index 497127c..2d1faea 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/api/RelaoDeAtributosPorNcmApi.java
@@ -19,8 +19,7 @@
/**
* Cadastro de Atributos
*
- * CADA - Cadastro de Atributos
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api Serviços de Download das Relações
Serviços de Consulta
- *
+ * CADA - Cadastro de Atributos
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/cadatributos/api Ambiente de Produção https://portalunico.siscomex.gov.br/cadatributos/api Serviços de Download das Relações
Serviços de Consulta
*/
@Path("/")
@Api(value = "/", description = "")
@@ -28,7 +27,6 @@ public interface RelaoDeAtributosPorNcmApi {
/**
* Consulta da relação de atributos de um código NCM
- *
*/
@GET
@Path("/ext/atributo-ncm/{codigo-ncm}")
@@ -45,7 +43,6 @@ public interface RelaoDeAtributosPorNcmApi {
/**
* Download do arquivo com a relação de atributos por NCM
- *
*/
@GET
@Path("/ext/atributo-ncm/download/{tipo}")
@@ -62,7 +59,6 @@ public interface RelaoDeAtributosPorNcmApi {
/**
* Consulta histórico de versões
- *
*/
@GET
@Path("/ext/atributo-ncm/historico-versoes")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java
index 5672e59..0138766 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/ArquivoDiarioAtributoDTO.java
@@ -393,6 +393,7 @@ public ArquivoDiarioAtributoDTO brid(String brid) {
/**
* Código WCO ID<br>Tamanho mínimo: 0<br>Tamanho máximo: 10
+ *
* @return wcoid
**/
@JsonProperty("wcoid")
@@ -453,6 +454,7 @@ public ArquivoDiarioAtributoDTO formaPreenchimento(FormaPreenchimentoEnum formaP
/**
* Tamanho máximo<br>Tamanho mínimo: 0<br>Tamanho máximo: 10
+ *
* @return tamanhoMaximo
**/
@JsonProperty("tamanhoMaximo")
@@ -471,6 +473,7 @@ public ArquivoDiarioAtributoDTO tamanhoMaximo(Integer tamanhoMaximo) {
/**
* Máscara<br>Tamanho mínimo: 0<br>Tamanho máximo: 50
+ *
* @return mascara
**/
@JsonProperty("mascara")
@@ -489,6 +492,7 @@ public ArquivoDiarioAtributoDTO mascara(String mascara) {
/**
* Casas Decimais<br>Tamanho mínimo: 0<br>Tamanho máximo: 10
+ *
* @return casasDecimais
**/
@JsonProperty("casasDecimais")
@@ -507,6 +511,7 @@ public ArquivoDiarioAtributoDTO casasDecimais(Integer casasDecimais) {
/**
* Modalidade de operação.<br>Tamanho máximo: 20<br>Domínio:<br>Exportação<br>Importação
+ *
* @return modalidade
**/
@JsonProperty("modalidade")
@@ -526,6 +531,7 @@ public ArquivoDiarioAtributoDTO modalidade(String modalidade) {
/**
* Preenchimento obrigatório.<br>Domínio:<br>true<br>false
+ *
* @return obrigatorio
**/
@JsonProperty("obrigatorio")
@@ -565,6 +571,7 @@ public ArquivoDiarioAtributoDTO dataInicioVigencia(String dataInicioVigencia) {
/**
* Data de fim de vigência<br>Formato: yyyy-MM-dd
+ *
* @return dataFimVigencia
**/
@JsonProperty("dataFimVigencia")
@@ -583,6 +590,7 @@ public ArquivoDiarioAtributoDTO dataFimVigencia(String dataFimVigencia) {
/**
* Informação adicional de preenchimento para o vínculo<br>Tamanho mínimo: 0<br>Tamanho máximo: 1000
+ *
* @return informacaoAdicional
**/
@JsonProperty("informacaoAdicional")
@@ -601,6 +609,7 @@ public ArquivoDiarioAtributoDTO informacaoAdicional(String informacaoAdicional)
/**
* Lista de domínio do atributo
+ *
* @return dominio
**/
@JsonProperty("dominio")
@@ -624,6 +633,7 @@ public ArquivoDiarioAtributoDTO addDominioItem(ItemAtributoListaConsultaDTO domi
/**
* Get atributoFiltro
+ *
* @return atributoFiltro
**/
@JsonProperty("atributoFiltro")
@@ -642,6 +652,7 @@ public ArquivoDiarioAtributoDTO atributoFiltro(ArquivoDiarioAtributoDTO atributo
/**
* Lista de objetivos do atributo
+ *
* @return objetivos
**/
@JsonProperty("objetivos")
@@ -665,6 +676,7 @@ public ArquivoDiarioAtributoDTO addObjetivosItem(ObjetivoAtributoConsultaDTO obj
/**
* Lista de códigos dos órgãos vinculados ao Atributo e NCM<br>Tamanho mínimo: 1<br>Tamanho máximo: 10
+ *
* @return orgaos
**/
@JsonProperty("orgaos")
@@ -708,6 +720,7 @@ public ArquivoDiarioAtributoDTO atributoCondicionante(Boolean atributoCondiciona
/**
* Lista de atributos condicionados
+ *
* @return condicionados
**/
@JsonProperty("condicionados")
@@ -731,6 +744,7 @@ public ArquivoDiarioAtributoDTO addCondicionadosItem(ArquivoDiarioCondicionadoDT
/**
* Lista de subatributos
+ *
* @return listaSubatributos
**/
@JsonProperty("listaSubatributos")
@@ -754,6 +768,7 @@ public ArquivoDiarioAtributoDTO addListaSubatributosItem(ArquivoDiarioAtributoDT
/**
* Campo multivalorado.<br>Domínio:<br>true<br>false
+ *
* @return multivalorado
**/
@JsonProperty("multivalorado")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java
index 6a143bc..6d91212 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cadatributos/model/DiffArquivoDiarioAtributoDTO.java
@@ -256,6 +256,7 @@ public DiffArquivoDiarioAtributoDTO brid(DiffValorDTO brid) {
/**
* Get wcoid
+ *
* @return wcoid
**/
@JsonProperty("wcoid")
@@ -312,6 +313,7 @@ public DiffArquivoDiarioAtributoDTO formaPreenchimento(DiffValorDTO formaPreench
/**
* Get tamanhoMaximo
+ *
* @return tamanhoMaximo
**/
@JsonProperty("tamanhoMaximo")
@@ -330,6 +332,7 @@ public DiffArquivoDiarioAtributoDTO tamanhoMaximo(DiffValorDTO tamanhoMaximo) {
/**
* Get mascara
+ *
* @return mascara
**/
@JsonProperty("mascara")
@@ -348,6 +351,7 @@ public DiffArquivoDiarioAtributoDTO mascara(DiffValorDTO mascara) {
/**
* Get casasDecimais
+ *
* @return casasDecimais
**/
@JsonProperty("casasDecimais")
@@ -366,6 +370,7 @@ public DiffArquivoDiarioAtributoDTO casasDecimais(DiffValorDTO casasDecimais) {
/**
* Get modalidade
+ *
* @return modalidade
**/
@JsonProperty("modalidade")
@@ -384,6 +389,7 @@ public DiffArquivoDiarioAtributoDTO modalidade(DiffValorDTO modalidade) {
/**
* Get obrigatorio
+ *
* @return obrigatorio
**/
@JsonProperty("obrigatorio")
@@ -421,6 +427,7 @@ public DiffArquivoDiarioAtributoDTO dataInicioVigencia(DiffValorDTO dataInicioVi
/**
* Get dataFimVigencia
+ *
* @return dataFimVigencia
**/
@JsonProperty("dataFimVigencia")
@@ -439,6 +446,7 @@ public DiffArquivoDiarioAtributoDTO dataFimVigencia(DiffValorDTO dataFimVigencia
/**
* Get informacaoAdicional
+ *
* @return informacaoAdicional
**/
@JsonProperty("informacaoAdicional")
@@ -457,6 +465,7 @@ public DiffArquivoDiarioAtributoDTO informacaoAdicional(DiffValorDTO informacaoA
/**
* Get dominio
+ *
* @return dominio
**/
@JsonProperty("dominio")
@@ -475,6 +484,7 @@ public DiffArquivoDiarioAtributoDTO dominio(DiffArquivoDiarioDominioDTO dominio)
/**
* Get objetivos
+ *
* @return objetivos
**/
@JsonProperty("objetivos")
@@ -493,6 +503,7 @@ public DiffArquivoDiarioAtributoDTO objetivos(DiffValorDTO objetivos) {
/**
* Get orgaos
+ *
* @return orgaos
**/
@JsonProperty("orgaos")
@@ -530,6 +541,7 @@ public DiffArquivoDiarioAtributoDTO atributoCondicionante(DiffValorDTO atributoC
/**
* Get condicionados
+ *
* @return condicionados
**/
@JsonProperty("condicionados")
@@ -548,6 +560,7 @@ public DiffArquivoDiarioAtributoDTO condicionados(DiffArquivoDiarioCondicionadoD
/**
* Get listaSubatributos
+ *
* @return listaSubatributos
**/
@JsonProperty("listaSubatributos")
@@ -566,6 +579,7 @@ public DiffArquivoDiarioAtributoDTO listaSubatributos(DiffArquivoDiarioSubatribu
/**
* Get multivalorado
+ *
* @return multivalorado
**/
@JsonProperty("multivalorado")
diff --git a/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java b/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java
index 0e34e39..ca736a1 100644
--- a/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java
+++ b/src/main/java/br/gov/siscomex/portalunico/catp/model/FabricanteIntegracaoDTO.java
@@ -238,6 +238,7 @@ public FabricanteIntegracaoDTO dataReferencia(OffsetDateTime dataReferencia) {
/**
* Código do país de origem no formato ISO 3166<br>Tamanho: 2<br>Formato: 'AA'
+ *
* @return codigoPais
**/
@JsonProperty("codigoPais")
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java
index c88ea48..2dd7867 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/api/DocumentoDeTransporteApi.java
@@ -1,7 +1,7 @@
package br.gov.siscomex.portalunico.cct_ext.api;
-import br.gov.siscomex.portalunico.cct_ext.model.DocumentosTransporte;
import br.gov.siscomex.portalunico.cct_ext.model.EntregasDocumentoTransporte;
+import br.gov.siscomex.portalunico.cct_ext.model.ListaDocumentosTransporte;
import br.gov.siscomex.portalunico.cct_ext.model.RecepcoesDocumentoTransporte;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -41,7 +41,7 @@ public interface DocumentoDeTransporteApi {
@Produces({"application/json"})
@ApiOperation(value = "Consultar uma lista de Documento de Transporte do tipo DAT", notes = "
Tamanho: 7
Formato: AAAAAAA")
- /**
- * Código da aduana de destino
Tamanho: 7
Formato: AAAAAAA
- **/
- private String codigoAduanaDestino = null;
-
- @XmlElement(name = "nomeAduanaDestino", required = true)
- @ApiModelProperty(example = "Buenos Aires Aduana", required = true, value = "Nome da aduana de destino
Tamanho: 60")
- /**
- * Nome da aduana de destino
Tamanho: 60
- **/
- private String nomeAduanaDestino = null;
-
- @XmlElement(name = "paisOrigemMercadorias", required = true)
- @ApiModelProperty(example = "BR", required = true, value = "Sigla do país de origem das mercadorias
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país")
- /**
- * Sigla do país de origem das mercadorias
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país
- **/
- private String paisOrigemMercadorias = null;
-
- @XmlElement(name = "valorFOTMercadorias", required = true)
- @ApiModelProperty(example = "20000.0", required = true, value = "Valor FOT das mercadorias
Tamanho: 15.2
Formato: NNNNNNNNNNNNNNN.NN")
- @Valid
- /**
- * Valor FOT das mercadorias
Tamanho: 15.2
Formato: NNNNNNNNNNNNNNN.NN
- **/
- private BigDecimal valorFOTMercadorias = null;
-
- @XmlElement(name = "moedaValorFOT", required = true)
- @ApiModelProperty(example = "220", required = true, value = "Código da moeda FOT das mercadorias
Tamanho: 3
Formato: NNN")
- /**
- * Código da moeda FOT das mercadorias
Tamanho: 3
Formato: NNN
- **/
- private String moedaValorFOT = null;
-
- @XmlElement(name = "valorSeguro")
- @ApiModelProperty(example = "1000.0", value = "Valor do seguro
Tamanho: 14.2
Formato: NNNNNNNNNNNNNN.NN")
- @Valid
- /**
- * Valor do seguro
Tamanho: 14.2
Formato: NNNNNNNNNNNNNN.NN
- **/
- private BigDecimal valorSeguro = null;
-
- @XmlElement(name = "moedaValorSeguro")
- @ApiModelProperty(example = "220", value = "Código da moeda do seguro
Tamanho: 3
Formato: NNN")
- /**
- * Código da moeda do seguro
Tamanho: 3
Formato: NNN
- **/
- private String moedaValorSeguro = null;
-
- @XmlElement(name = "codigoTiposVolumes")
- @ApiModelProperty(example = "1", value = "Código do tipo de volume
Tamanho: 2
Formato: NN")
- /**
- * Código do tipo de volume
Tamanho: 2
Formato: NN
- **/
- private Integer codigoTiposVolumes = null;
-
- @XmlElement(name = "nomeTiposVolumes", required = true)
- @ApiModelProperty(example = "caixas", required = true, value = "Nome do tipo de volume
Tamanho: 15")
- /**
- * Nome do tipo de volume
Tamanho: 15
- **/
- private String nomeTiposVolumes = null;
-
- @XmlElement(name = "qtdeVolumes")
- @ApiModelProperty(example = "123456", value = "Quantidade do volume
Tamanho: 6
Formato: NNNNNN")
- /**
- * Quantidade do volume
Tamanho: 6
Formato: NNNNNN
- **/
- private Integer qtdeVolumes = null;
-
- @XmlElement(name = "pesoBruto", required = true)
- @ApiModelProperty(example = "100000.0", required = true, value = "Peso Bruto (kg) da mercadoria
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN")
- @Valid
- /**
- * Peso Bruto (kg) da mercadoria
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN
- **/
- private BigDecimal pesoBruto = null;
-
- @XmlElement(name = "descricaoMercadorias", required = true)
- @ApiModelProperty(example = "mercadoria", required = true, value = "Descrição das mercadoria
Tamanho: 520
Marcas e números dos volumes, descrição das mercadorias.")
- /**
- * Descrição das mercadoria
Tamanho: 520
Marcas e números dos volumes, descrição das mercadorias.
- **/
- private String descricaoMercadorias = null;
-
- @XmlElement(name = "documentosAnexos", required = true)
- @ApiModelProperty(example = "Documento 1234", required = true, value = "Documentos anexos
Tamanho: 400")
- /**
- * Documentos anexos
Tamanho: 400
- **/
- private String documentosAnexos = null;
-
- @XmlElement(name = "nfes", required = true)
- @ApiModelProperty(required = true, value = "")
- @Valid
- private Nfes nfes = null;
-
- /**
- * Get consignatario
- *
- * @return consignatario
- **/
- @JsonProperty("consignatario")
- @NotNull
- public Consignatario getConsignatario() {
- return consignatario;
- }
-
- public void setConsignatario(Consignatario consignatario) {
- this.consignatario = consignatario;
- }
-
- public Carga consignatario(Consignatario consignatario) {
- this.consignatario = consignatario;
- return this;
- }
-
- /**
- * Get remetente
- *
- * @return remetente
- **/
- @JsonProperty("remetente")
- @NotNull
- public Remetente getRemetente() {
- return remetente;
- }
-
- public void setRemetente(Remetente remetente) {
- this.remetente = remetente;
- }
-
- public Carga remetente(Remetente remetente) {
- this.remetente = remetente;
- return this;
- }
-
- /**
- * Get destinatario
- *
- * @return destinatario
- **/
- @JsonProperty("destinatario")
- @NotNull
- public Destinatrio getDestinatario() {
- return destinatario;
- }
-
- public void setDestinatario(Destinatrio destinatario) {
- this.destinatario = destinatario;
- }
-
- public Carga destinatario(Destinatrio destinatario) {
- this.destinatario = destinatario;
- return this;
- }
-
- /**
- * Código da aduana de destino<br>Tamanho: 7<br>Formato: AAAAAAA
- *
- * @return codigoAduanaDestino
- **/
- @JsonProperty("codigoAduanaDestino")
- public String getCodigoAduanaDestino() {
- return codigoAduanaDestino;
- }
-
- public void setCodigoAduanaDestino(String codigoAduanaDestino) {
- this.codigoAduanaDestino = codigoAduanaDestino;
- }
-
- public Carga codigoAduanaDestino(String codigoAduanaDestino) {
- this.codigoAduanaDestino = codigoAduanaDestino;
- return this;
- }
-
- /**
- * Nome da aduana de destino<br>Tamanho: 60
- *
- * @return nomeAduanaDestino
- **/
- @JsonProperty("nomeAduanaDestino")
- @NotNull
- public String getNomeAduanaDestino() {
- return nomeAduanaDestino;
- }
-
- public void setNomeAduanaDestino(String nomeAduanaDestino) {
- this.nomeAduanaDestino = nomeAduanaDestino;
- }
-
- public Carga nomeAduanaDestino(String nomeAduanaDestino) {
- this.nomeAduanaDestino = nomeAduanaDestino;
- return this;
- }
-
- /**
- * Sigla do país de origem das mercadorias<br>Tamanho: 2<br>Formato: AA<br>Sigla ISO/Alfa 2 do país
- *
- * @return paisOrigemMercadorias
- **/
- @JsonProperty("paisOrigemMercadorias")
- @NotNull
- public String getPaisOrigemMercadorias() {
- return paisOrigemMercadorias;
- }
-
- public void setPaisOrigemMercadorias(String paisOrigemMercadorias) {
- this.paisOrigemMercadorias = paisOrigemMercadorias;
- }
-
- public Carga paisOrigemMercadorias(String paisOrigemMercadorias) {
- this.paisOrigemMercadorias = paisOrigemMercadorias;
- return this;
- }
-
- /**
- * Valor FOT das mercadorias<br>Tamanho: 15.2<br>Formato: NNNNNNNNNNNNNNN.NN
- *
- * @return valorFOTMercadorias
- **/
- @JsonProperty("valorFOTMercadorias")
- @NotNull
- public BigDecimal getValorFOTMercadorias() {
- return valorFOTMercadorias;
- }
-
- public void setValorFOTMercadorias(BigDecimal valorFOTMercadorias) {
- this.valorFOTMercadorias = valorFOTMercadorias;
- }
-
- public Carga valorFOTMercadorias(BigDecimal valorFOTMercadorias) {
- this.valorFOTMercadorias = valorFOTMercadorias;
- return this;
- }
-
- /**
- * Código da moeda FOT das mercadorias<br>Tamanho: 3<br>Formato: NNN
- *
- * @return moedaValorFOT
- **/
- @JsonProperty("moedaValorFOT")
- @NotNull
- public String getMoedaValorFOT() {
- return moedaValorFOT;
- }
-
- public void setMoedaValorFOT(String moedaValorFOT) {
- this.moedaValorFOT = moedaValorFOT;
- }
-
- public Carga moedaValorFOT(String moedaValorFOT) {
- this.moedaValorFOT = moedaValorFOT;
- return this;
- }
-
- /**
- * Valor do seguro<br>Tamanho: 14.2<br>Formato: NNNNNNNNNNNNNN.NN
- * @return valorSeguro
- **/
- @JsonProperty("valorSeguro")
- public BigDecimal getValorSeguro() {
- return valorSeguro;
- }
-
- public void setValorSeguro(BigDecimal valorSeguro) {
- this.valorSeguro = valorSeguro;
- }
-
- public Carga valorSeguro(BigDecimal valorSeguro) {
- this.valorSeguro = valorSeguro;
- return this;
- }
-
- /**
- * Código da moeda do seguro<br>Tamanho: 3<br>Formato: NNN
- * @return moedaValorSeguro
- **/
- @JsonProperty("moedaValorSeguro")
- public String getMoedaValorSeguro() {
- return moedaValorSeguro;
- }
-
- public void setMoedaValorSeguro(String moedaValorSeguro) {
- this.moedaValorSeguro = moedaValorSeguro;
- }
-
- public Carga moedaValorSeguro(String moedaValorSeguro) {
- this.moedaValorSeguro = moedaValorSeguro;
- return this;
- }
-
- /**
- * Código do tipo de volume<br>Tamanho: 2<br>Formato: NN
- *
- * @return codigoTiposVolumes
- **/
- @JsonProperty("codigoTiposVolumes")
- public Integer getCodigoTiposVolumes() {
- return codigoTiposVolumes;
- }
-
- public void setCodigoTiposVolumes(Integer codigoTiposVolumes) {
- this.codigoTiposVolumes = codigoTiposVolumes;
- }
-
- public Carga codigoTiposVolumes(Integer codigoTiposVolumes) {
- this.codigoTiposVolumes = codigoTiposVolumes;
- return this;
- }
-
- /**
- * Nome do tipo de volume<br>Tamanho: 15
- * @return nomeTiposVolumes
- **/
- @JsonProperty("nomeTiposVolumes")
- @NotNull
- public String getNomeTiposVolumes() {
- return nomeTiposVolumes;
- }
-
- public void setNomeTiposVolumes(String nomeTiposVolumes) {
- this.nomeTiposVolumes = nomeTiposVolumes;
- }
-
- public Carga nomeTiposVolumes(String nomeTiposVolumes) {
- this.nomeTiposVolumes = nomeTiposVolumes;
- return this;
- }
-
- /**
- * Quantidade do volume<br>Tamanho: 6<br>Formato: NNNNNN
- * @return qtdeVolumes
- **/
- @JsonProperty("qtdeVolumes")
- public Integer getQtdeVolumes() {
- return qtdeVolumes;
- }
-
- public void setQtdeVolumes(Integer qtdeVolumes) {
- this.qtdeVolumes = qtdeVolumes;
- }
-
- public Carga qtdeVolumes(Integer qtdeVolumes) {
- this.qtdeVolumes = qtdeVolumes;
- return this;
- }
-
- /**
- * Peso Bruto (kg) da mercadoria<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN
- * @return pesoBruto
- **/
- @JsonProperty("pesoBruto")
- @NotNull
- public BigDecimal getPesoBruto() {
- return pesoBruto;
- }
-
- public void setPesoBruto(BigDecimal pesoBruto) {
- this.pesoBruto = pesoBruto;
- }
-
- public Carga pesoBruto(BigDecimal pesoBruto) {
- this.pesoBruto = pesoBruto;
- return this;
- }
-
- /**
- * Descrição das mercadoria<br>Tamanho: 520<br>Marcas e números dos volumes, descrição das mercadorias.
- *
- * @return descricaoMercadorias
- **/
- @JsonProperty("descricaoMercadorias")
- @NotNull
- public String getDescricaoMercadorias() {
- return descricaoMercadorias;
- }
-
- public void setDescricaoMercadorias(String descricaoMercadorias) {
- this.descricaoMercadorias = descricaoMercadorias;
- }
-
- public Carga descricaoMercadorias(String descricaoMercadorias) {
- this.descricaoMercadorias = descricaoMercadorias;
- return this;
- }
-
- /**
- * Documentos anexos<br>Tamanho: 400
- * @return documentosAnexos
- **/
- @JsonProperty("documentosAnexos")
- @NotNull
- public String getDocumentosAnexos() {
- return documentosAnexos;
- }
-
- public void setDocumentosAnexos(String documentosAnexos) {
- this.documentosAnexos = documentosAnexos;
- }
-
- public Carga documentosAnexos(String documentosAnexos) {
- this.documentosAnexos = documentosAnexos;
- return this;
- }
-
- /**
- * Get nfes
- *
- * @return nfes
- **/
- @JsonProperty("nfes")
- @NotNull
- public Nfes getNfes() {
- return nfes;
- }
-
- public void setNfes(Nfes nfes) {
- this.nfes = nfes;
- }
-
- public Carga nfes(Nfes nfes) {
- this.nfes = nfes;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class Carga {\n" +
- " consignatario: " + toIndentedString(consignatario) + "\n" +
- " remetente: " + toIndentedString(remetente) + "\n" +
- " destinatario: " + toIndentedString(destinatario) + "\n" +
- " codigoAduanaDestino: " + toIndentedString(codigoAduanaDestino) + "\n" +
- " nomeAduanaDestino: " + toIndentedString(nomeAduanaDestino) + "\n" +
- " paisOrigemMercadorias: " + toIndentedString(paisOrigemMercadorias) + "\n" +
- " valorFOTMercadorias: " + toIndentedString(valorFOTMercadorias) + "\n" +
- " moedaValorFOT: " + toIndentedString(moedaValorFOT) + "\n" +
- " valorSeguro: " + toIndentedString(valorSeguro) + "\n" +
- " moedaValorSeguro: " + toIndentedString(moedaValorSeguro) + "\n" +
- " codigoTiposVolumes: " + toIndentedString(codigoTiposVolumes) + "\n" +
- " nomeTiposVolumes: " + toIndentedString(nomeTiposVolumes) + "\n" +
- " qtdeVolumes: " + toIndentedString(qtdeVolumes) + "\n" +
- " pesoBruto: " + toIndentedString(pesoBruto) + "\n" +
- " descricaoMercadorias: " + toIndentedString(descricaoMercadorias) + "\n" +
- " documentosAnexos: " + toIndentedString(documentosAnexos) + "\n" +
- " nfes: " + toIndentedString(nfes) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java
index 5e3edeb..7e5a665 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/CargaSoltaVeiculo.java
@@ -4,58 +4,101 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
-import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "CargaSoltaVeiculo", propOrder =
- {"carga"
+ {"tipoEmbalagem", "total", "quantidade"
})
@XmlRootElement(name = "CargaSoltaVeiculo")
/**
- * Lista de cargas soltas/veículos
+ * Dados da carga solta/veículo
**/
-@ApiModel(description = "Lista de cargas soltas/veículos")
+@ApiModel(description = "Dados da carga solta/veículo")
public class CargaSoltaVeiculo {
- @XmlElement(name = "carga", required = true)
- @ApiModelProperty(required = true, value = "Dados da carga solta/veículo")
- @Valid
+ @XmlElement(name = "tipoEmbalagem", required = true)
+ @ApiModelProperty(example = "10", required = true, value = "Tipo de embalagem conforme a tabela Tipo de Embalagem.
Tamanho: 2
Formato: NN")
/**
- * Dados da carga solta/veículo
+ * Tipo de embalagem conforme a tabela Tipo de Embalagem.
Tamanho: 2
Formato: NN
**/
- private List
Tamanho: 5
Formato: NNNNN")
/**
- * Dados da carga solta/veículo
+ * Total de embalagens deste tipo, caso não tenha sido informado ainda.
Tamanho: 5
Formato: NNNNN
+ **/
+ private Integer total = null;
+
+ @XmlElement(name = "quantidade")
+ @ApiModelProperty(example = "9999", value = "Quantidade de embalagens deste tipo.
Tamanho: 4
Formato: NNNNN")
+ /**
+ * Quantidade de embalagens deste tipo.
Tamanho: 4
Formato: NNNNN
+ **/
+ private Integer quantidade = null;
+
+ /**
+ * Tipo de embalagem conforme a tabela Tipo de Embalagem.<br>Tamanho: 2<br>Formato: NN
*
- * @return carga
+ * @return tipoEmbalagem
**/
- @JsonProperty("carga")
+ @JsonProperty("tipoEmbalagem")
@NotNull
- public List
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV")
+ /**
+ * Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV
+ **/
+ private String numeroDue = null;
+
+ @XmlElement(name="numeroRuc")
+ @ApiModelProperty(example = "9BR00000000100000000000000000016630", value = "Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN")
+ /**
+ * Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+ **/
+ private String numeroRuc = null;
+
+ @XmlElement(name="tipoCarga")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ItemDTO tipoCarga = null;
+
+ @XmlElement(name="siglaUnidadeMedida")
+ @ApiModelProperty(example = "un", value = "Sigla da Unidade de Medida")
+ /**
+ * Sigla da Unidade de Medida
+ **/
+ private String siglaUnidadeMedida = null;
+
+ @XmlElement(name="quantidadeManifestada")
+ @ApiModelProperty(example = "100.0", value = "quantidade Manifestada")
+ @Valid
+ /**
+ * quantidade Manifestada
+ **/
+ private BigDecimal quantidadeManifestada = null;
+ /**
+ * Número da DU-E<br>Tamanho: 14<br>Formato: AABRSSSSSSSSSD <br>Descrição Formato<br>AA - Ano<br>BR - Brasil<br>SSSSSSSSS - Numeração sequencial<br>D - DV
+ * @return numeroDue
+ **/
+ @JsonProperty("numeroDue")
+ public String getNumeroDue() {
+ return numeroDue;
+ }
+
+ public void setNumeroDue(String numeroDue) {
+ this.numeroDue = numeroDue;
+ }
+
+ public Cargas numeroDue(String numeroDue) {
+ this.numeroDue = numeroDue;
+ return this;
+ }
+
+ /**
+ * Número da RUC ou RUC Master<br>Tamanho mínimo: 13<br>Tamanho máximo: 35<br>Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+ * @return numeroRuc
+ **/
+ @JsonProperty("numeroRuc")
+ public String getNumeroRuc() {
+ return numeroRuc;
+ }
+
+ public void setNumeroRuc(String numeroRuc) {
+ this.numeroRuc = numeroRuc;
+ }
+
+ public Cargas numeroRuc(String numeroRuc) {
+ this.numeroRuc = numeroRuc;
+ return this;
+ }
+
+ /**
+ * Get tipoCarga
+ * @return tipoCarga
+ **/
+ @JsonProperty("tipoCarga")
+ public ItemDTO getTipoCarga() {
+ return tipoCarga;
+ }
+
+ public void setTipoCarga(ItemDTO tipoCarga) {
+ this.tipoCarga = tipoCarga;
+ }
+
+ public Cargas tipoCarga(ItemDTO tipoCarga) {
+ this.tipoCarga = tipoCarga;
+ return this;
+ }
+
+ /**
+ * Sigla da Unidade de Medida
+ * @return siglaUnidadeMedida
+ **/
+ @JsonProperty("siglaUnidadeMedida")
+ public String getSiglaUnidadeMedida() {
+ return siglaUnidadeMedida;
+ }
+
+ public void setSiglaUnidadeMedida(String siglaUnidadeMedida) {
+ this.siglaUnidadeMedida = siglaUnidadeMedida;
+ }
+
+ public Cargas siglaUnidadeMedida(String siglaUnidadeMedida) {
+ this.siglaUnidadeMedida = siglaUnidadeMedida;
+ return this;
+ }
+
+ /**
+ * quantidade Manifestada
+ * @return quantidadeManifestada
+ **/
+ @JsonProperty("quantidadeManifestada")
+ public BigDecimal getQuantidadeManifestada() {
+ return quantidadeManifestada;
+ }
+
+ public void setQuantidadeManifestada(BigDecimal quantidadeManifestada) {
+ this.quantidadeManifestada = quantidadeManifestada;
+ }
+
+ public Cargas quantidadeManifestada(BigDecimal quantidadeManifestada) {
+ this.quantidadeManifestada = quantidadeManifestada;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class Cargas {\n");
+
+ sb.append(" numeroDue: ").append(toIndentedString(numeroDue)).append("\n");
+ sb.append(" numeroRuc: ").append(toIndentedString(numeroRuc)).append("\n");
+ sb.append(" tipoCarga: ").append(toIndentedString(tipoCarga)).append("\n");
+ sb.append(" siglaUnidadeMedida: ").append(toIndentedString(siglaUnidadeMedida)).append("\n");
+ sb.append(" quantidadeManifestada: ").append(toIndentedString(quantidadeManifestada)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java
index 3a778d9..bb0241f 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Conhecimento.java
@@ -14,7 +14,7 @@
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Conhecimento", propOrder =
- {"numero", "dataEmissao", "frete", "carga", "documentosAnexo"
+ {"numeroConhecimento", "dataEmissaoConhecimento", "frete", "consignatario"
})
@XmlRootElement(name = "Conhecimento")
@@ -24,72 +24,67 @@
@ApiModel(description = "Dados do conhecimento de carga")
public class Conhecimento {
- @XmlElement(name = "numero", required = true)
- @ApiModelProperty(example = "BR123456789", required = true, value = "Número do conhecimento de carga
Tamanho: 20
Formato: PPNNNNNNNNNNNNNNNNNN, onde PP = sigla ISO/Alfa 2 do país")
+ @XmlElement(name = "numeroConhecimento", required = true)
+ @ApiModelProperty(example = "123456789", required = true, value = "Número do conhecimento de carga
Em uma mesma manifestação de embarque não podem ser inseridos conhecimentos de carga com o mesmo número.")
/**
- * Número do conhecimento de carga
Tamanho: 20
Formato: PPNNNNNNNNNNNNNNNNNN, onde PP = sigla ISO/Alfa 2 do país
+ * Número do conhecimento de carga
Em uma mesma manifestação de embarque não podem ser inseridos conhecimentos de carga com o mesmo número.
**/
- private String numero = null;
+ private String numeroConhecimento = null;
- @XmlElement(name = "dataEmissao", required = true)
- @ApiModelProperty(example = "2016-12-19", required = true, value = "Data de emissão do conhecimento de carga
Formato: AAAA-MM-DD")
+ @XmlElement(name = "dataEmissaoConhecimento", required = true)
+ @ApiModelProperty(example = "2016-12-19", required = true, value = "Data de emissão do conhecimento de carga")
/**
- * Data de emissão do conhecimento de carga
Formato: AAAA-MM-DD
+ * Data de emissão do conhecimento de carga
**/
- private String dataEmissao = null;
+ private String dataEmissaoConhecimento = null;
- @XmlElement(name = "frete", required = true)
- @ApiModelProperty(required = true, value = "")
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
@Valid
private Frete frete = null;
- @XmlElement(name = "carga", required = true)
+ @XmlElement(name = "consignatario", required = true)
@ApiModelProperty(required = true, value = "")
@Valid
- private Carga carga = null;
-
- @XmlElement(name = "documentosAnexo")
- @ApiModelProperty(value = "")
- @Valid
- private DocumentosAnexo documentosAnexo = null;
+ private Consignatario consignatario = null;
/**
- * Número do conhecimento de carga<br>Tamanho: 20<br>Formato: PPNNNNNNNNNNNNNNNNNN, onde PP = sigla ISO/Alfa 2 do país
+ * Número do conhecimento de carga<br>Em uma mesma manifestação de embarque não podem ser inseridos conhecimentos de carga com o mesmo número.
*
- * @return numero
+ * @return numeroConhecimento
**/
- @JsonProperty("numero")
+ @JsonProperty("numeroConhecimento")
@NotNull
- public String getNumero() {
- return numero;
+ public String getNumeroConhecimento() {
+ return numeroConhecimento;
}
- public void setNumero(String numero) {
- this.numero = numero;
+ public void setNumeroConhecimento(String numeroConhecimento) {
+ this.numeroConhecimento = numeroConhecimento;
}
- public Conhecimento numero(String numero) {
- this.numero = numero;
+ public Conhecimento numeroConhecimento(String numeroConhecimento) {
+ this.numeroConhecimento = numeroConhecimento;
return this;
}
/**
- * Data de emissão do conhecimento de carga<br>Formato: AAAA-MM-DD
+ * Data de emissão do conhecimento de carga
*
- * @return dataEmissao
+ * @return dataEmissaoConhecimento
**/
- @JsonProperty("dataEmissao")
+ @JsonProperty("dataEmissaoConhecimento")
@NotNull
- public String getDataEmissao() {
- return dataEmissao;
+ public String getDataEmissaoConhecimento() {
+ return dataEmissaoConhecimento;
}
- public void setDataEmissao(String dataEmissao) {
- this.dataEmissao = dataEmissao;
+ public void setDataEmissaoConhecimento(String dataEmissaoConhecimento) {
+ this.dataEmissaoConhecimento = dataEmissaoConhecimento;
}
- public Conhecimento dataEmissao(String dataEmissao) {
- this.dataEmissao = dataEmissao;
+ public Conhecimento dataEmissaoConhecimento(String dataEmissaoConhecimento) {
+ this.dataEmissaoConhecimento = dataEmissaoConhecimento;
return this;
}
@@ -99,7 +94,6 @@ public Conhecimento dataEmissao(String dataEmissao) {
* @return frete
**/
@JsonProperty("frete")
- @NotNull
public Frete getFrete() {
return frete;
}
@@ -114,41 +108,22 @@ public Conhecimento frete(Frete frete) {
}
/**
- * Get carga
+ * Get consignatario
*
- * @return carga
+ * @return consignatario
**/
- @JsonProperty("carga")
+ @JsonProperty("consignatario")
@NotNull
- public Carga getCarga() {
- return carga;
- }
-
- public void setCarga(Carga carga) {
- this.carga = carga;
- }
-
- public Conhecimento carga(Carga carga) {
- this.carga = carga;
- return this;
- }
-
- /**
- * Get documentosAnexo
- *
- * @return documentosAnexo
- **/
- @JsonProperty("documentosAnexo")
- public DocumentosAnexo getDocumentosAnexo() {
- return documentosAnexo;
+ public Consignatario getConsignatario() {
+ return consignatario;
}
- public void setDocumentosAnexo(DocumentosAnexo documentosAnexo) {
- this.documentosAnexo = documentosAnexo;
+ public void setConsignatario(Consignatario consignatario) {
+ this.consignatario = consignatario;
}
- public Conhecimento documentosAnexo(DocumentosAnexo documentosAnexo) {
- this.documentosAnexo = documentosAnexo;
+ public Conhecimento consignatario(Consignatario consignatario) {
+ this.consignatario = consignatario;
return this;
}
@@ -157,11 +132,10 @@ public Conhecimento documentosAnexo(DocumentosAnexo documentosAnexo) {
public String toString() {
String sb = "class Conhecimento {\n" +
- " numero: " + toIndentedString(numero) + "\n" +
- " dataEmissao: " + toIndentedString(dataEmissao) + "\n" +
+ " numeroConhecimento: " + toIndentedString(numeroConhecimento) + "\n" +
+ " dataEmissaoConhecimento: " + toIndentedString(dataEmissaoConhecimento) + "\n" +
" frete: " + toIndentedString(frete) + "\n" +
- " carga: " + toIndentedString(carga) + "\n" +
- " documentosAnexo: " + toIndentedString(documentosAnexo) + "\n" +
+ " consignatario: " + toIndentedString(consignatario) + "\n" +
"}";
return sb;
}
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ConhecimentosCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ConhecimentosCarga.java
deleted file mode 100644
index 799edba..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ConhecimentosCarga.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "ConhecimentosCarga", propOrder =
- {"conhecimento"
- })
-
-@XmlRootElement(name = "ConhecimentosCarga")
-/**
- * Lista dos conhecimento de carga
- **/
-@ApiModel(description = "Lista dos conhecimento de carga")
-public class ConhecimentosCarga {
-
- @XmlElement(name = "conhecimento", required = true)
- @ApiModelProperty(required = true, value = "Lista dos conhecimento de carga")
- @Valid
- /**
- * Lista dos conhecimento de carga
- **/
- private List
Domínio: 1 (prepaid), 2 (collect).")
+ @XmlElement(name = "consignadoAOrdem", required = true)
+ @ApiModelProperty(example = "N", required = true, value = "Indicador de consignação à ordem
Domínio: Domínio: S (Sim), N(Não).")
/**
- * Indicador To Order
Domínio: 1 (prepaid), 2 (collect).
+ * Indicador de consignação à ordem
Domínio: Domínio: S (Sim), N(Não).
**/
- private String indConsignadoAOrdem = null;
+ private String consignadoAOrdem = null;
- @XmlElement(name = "pais")
- @ApiModelProperty(example = "AR", value = "Sigla do país de origem do consignatário
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país")
+ @XmlElement(name = "nomeConsignatario", required = true)
+ @ApiModelProperty(example = "Nome do Consignatário", required = true, value = "Nome do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não.")
/**
- * Sigla do país de origem do consignatário
Tamanho: 2
Formato: AA
Sigla ISO/Alfa 2 do país
+ * Nome do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não.
**/
- private String pais = null;
+ private String nomeConsignatario = null;
- @XmlElement(name = "nome")
- @ApiModelProperty(example = "Nome do consignatário", value = "Nome do consignatário
Tamanho: 60
Não deve ser informado quando o indicador to Order for marcado como S (Sim)")
+ @XmlElement(name = "enderecoConsignatario", required = true)
+ @ApiModelProperty(example = "Endereço do consignatário", required = true, value = "Endereço do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não.")
/**
- * Nome do consignatário
Tamanho: 60
Não deve ser informado quando o indicador to Order for marcado como S (Sim)
+ * Endereço do consignatário
Informado e obrigatório apenas se indicador de consignação à ordem igual a Não.
**/
- private String nome = null;
+ private String enderecoConsignatario = null;
- @XmlElement(name = "endereco")
- @ApiModelProperty(example = "Endereço do consignatário", value = "Endereço do consignatário
Tamanho: 260
Não deve ser informado quando o indicador to Order for marcado como S (Sim)")
+ @XmlElement(name = "paisDestino", required = true)
+ @ApiModelProperty(example = "US", required = true, value = "Código do país de destino da carga
Domínio: Tabela de Países - código ISO/ALFA2.")
/**
- * Endereço do consignatário
Tamanho: 260
Não deve ser informado quando o indicador to Order for marcado como S (Sim)
+ * Código do país de destino da carga
Domínio: Tabela de Países - código ISO/ALFA2.
**/
- private String endereco = null;
+ private String paisDestino = null;
- @XmlElement(name = "idEstrangeiro")
- @ApiModelProperty(example = "ABCD123456789", value = "Identificação fiscal do consignatário estrangeiro
Tamanho: 14
Não deve ser informado quando o indicador to Order for marcado como S (Sim)")
+ @XmlElement(name = "dadosCarga", required = true)
+ @ApiModelProperty(required = true, value = "Dados das cargas Manifestadas")
+ @Valid
/**
- * Identificação fiscal do consignatário estrangeiro
Tamanho: 14
Não deve ser informado quando o indicador to Order for marcado como S (Sim)
+ * Dados das cargas Manifestadas
**/
- private String idEstrangeiro = null;
+ private List
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro.")
- /**
- * CNPJ do destinatário
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro.
- **/
- private String numeroCnpj = null;
-
- @XmlElement(name = "nome")
- @ApiModelProperty(example = "Nome do destinatário estrangeiro", value = "Nome do destinatário estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.")
- /**
- * Nome do destinatário estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.
- **/
- private String nome = null;
-
- @XmlElement(name = "endereco")
- @ApiModelProperty(example = "Endereço do destinatário estrangeiro", value = "Endereço do destinatário estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.")
- /**
- * Endereço do destinatário estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.
- **/
- private String endereco = null;
-
- /**
- * CNPJ do destinatário<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório para remetente brasileiro.
- *
- * @return numeroCnpj
- **/
- @JsonProperty("numeroCnpj")
- public String getNumeroCnpj() {
- return numeroCnpj;
- }
-
- public void setNumeroCnpj(String numeroCnpj) {
- this.numeroCnpj = numeroCnpj;
- }
-
- public Destinatrio numeroCnpj(String numeroCnpj) {
- this.numeroCnpj = numeroCnpj;
- return this;
- }
-
- /**
- * Nome do destinatário estrangeiro<br>Tamanho: 60<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.
- *
- * @return nome
- **/
- @JsonProperty("nome")
- public String getNome() {
- return nome;
- }
-
- public void setNome(String nome) {
- this.nome = nome;
- }
-
- public Destinatrio nome(String nome) {
- this.nome = nome;
- return this;
- }
-
- /**
- * Endereço do destinatário estrangeiro<br>Tamanho: 120<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.
- *
- * @return endereco
- **/
- @JsonProperty("endereco")
- public String getEndereco() {
- return endereco;
- }
-
- public void setEndereco(String endereco) {
- this.endereco = endereco;
- }
-
- public Destinatrio endereco(String endereco) {
- this.endereco = endereco;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class Destinatrio {\n" +
- " numeroCnpj: " + toIndentedString(numeroCnpj) + "\n" +
- " nome: " + toIndentedString(nome) + "\n" +
- " endereco: " + toIndentedString(endereco) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocTransporte.java
deleted file mode 100644
index ab9f345..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocTransporte.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.constraints.NotNull;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "DocTransporte", propOrder =
- {"numero", "dataEmissao"
- })
-
-@XmlRootElement(name = "DocTransporte")
-/**
- * Dados do Documento de Transporte
- **/
-@ApiModel(description = "Dados do Documento de Transporte")
-public class DocTransporte {
-
- @XmlElement(name = "numero", required = true)
- @ApiModelProperty(example = "BR554885728 AIRES", required = true, value = "Número do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: BRNNNNNNNNNNNNN, onde 999999999 é um número sequencial.")
- /**
- * Número do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: BRNNNNNNNNNNNNN, onde 999999999 é um número sequencial.
- **/
- private String numero = null;
-
- @XmlElement(name = "dataEmissao", required = true)
- @ApiModelProperty(example = "2019-05-30", required = true, value = "Data de emissão do documento de transporte
Formato: AAAA-MM-DD")
- /**
- * Data de emissão do documento de transporte
Formato: AAAA-MM-DD
- **/
- private String dataEmissao = null;
-
- /**
- * Número do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho Máximo: 15<br>Formato: BRNNNNNNNNNNNNN, onde 999999999 é um número sequencial.
- *
- * @return numero
- **/
- @JsonProperty("numero")
- @NotNull
- public String getNumero() {
- return numero;
- }
-
- public void setNumero(String numero) {
- this.numero = numero;
- }
-
- public DocTransporte numero(String numero) {
- this.numero = numero;
- return this;
- }
-
- /**
- * Data de emissão do documento de transporte<br>Formato: AAAA-MM-DD
- *
- * @return dataEmissao
- **/
- @JsonProperty("dataEmissao")
- @NotNull
- public String getDataEmissao() {
- return dataEmissao;
- }
-
- public void setDataEmissao(String dataEmissao) {
- this.dataEmissao = dataEmissao;
- }
-
- public DocTransporte dataEmissao(String dataEmissao) {
- this.dataEmissao = dataEmissao;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class DocTransporte {\n" +
- " numero: " + toIndentedString(numero) + "\n" +
- " dataEmissao: " + toIndentedString(dataEmissao) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoAnexo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoAnexo.java
deleted file mode 100644
index 63ffa27..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoAnexo.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import java.math.BigDecimal;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "DocumentoAnexo", propOrder =
- {"numero", "tipo"
- })
-
-@XmlRootElement(name = "DocumentoAnexo")
-/**
- * Documentos Anexo
- **/
-@ApiModel(description = "Documentos Anexo")
-public class DocumentoAnexo {
-
- @XmlElement(name = "numero", required = true)
- @ApiModelProperty(example = "1223123123", required = true, value = "Número de Documento Anexo.
Tamanho: 39
Formato: AAA..AA")
- /**
- * Número de Documento Anexo.
Tamanho: 39
Formato: AAA..AA
- **/
- private String numero = null;
-
- @XmlElement(name = "tipo", required = true)
- @ApiModelProperty(required = true, value = "Tipo de Documento Anexo.
Tamanho: 16
Formato: AAA..AA")
- @Valid
- /**
- * Tipo de Documento Anexo.
Tamanho: 16
Formato: AAA..AA
- **/
- private BigDecimal tipo = null;
-
- /**
- * Número de Documento Anexo.<br>Tamanho: 39<br>Formato: AAA..AA
- *
- * @return numero
- **/
- @JsonProperty("numero")
- @NotNull
- public String getNumero() {
- return numero;
- }
-
- public void setNumero(String numero) {
- this.numero = numero;
- }
-
- public DocumentoAnexo numero(String numero) {
- this.numero = numero;
- return this;
- }
-
- /**
- * Tipo de Documento Anexo.<br>Tamanho: 16<br>Formato: AAA..AA
- *
- * @return tipo
- **/
- @JsonProperty("tipo")
- @NotNull
- public BigDecimal getTipo() {
- return tipo;
- }
-
- public void setTipo(BigDecimal tipo) {
- this.tipo = tipo;
- }
-
- public DocumentoAnexo tipo(BigDecimal tipo) {
- this.tipo = tipo;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class DocumentoAnexo {\n" +
- " numero: " + toIndentedString(numero) + "\n" +
- " tipo: " + toIndentedString(tipo) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java
index 8a9292c..fa2481b 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoCarga.java
@@ -4,44 +4,65 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "DocumentoCarga", propOrder =
- {"numeroDUE", "numeroRUC"
+ {"numeroDUE", "numeroRUC", "cargaSoltaVeiculo", "granel"
})
@XmlRootElement(name = "DocumentoCarga")
/**
- * Documento de carga
+ * Dados das cargas do tipo solta e granel
**/
-@ApiModel(description = "Documento de carga")
+@ApiModel(description = "Dados das cargas do tipo solta e granel")
public class DocumentoCarga {
- @XmlElement(name = "numeroDUE")
- @ApiModelProperty(example = "17BR0000453160", value = "Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - número sequencial
D - DV")
+ @XmlElement(name = "numeroDUE", required = true)
+ @ApiModelProperty(example = "17BR0000451567", required = true, value = "Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV")
/**
- * Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - número sequencial
D - DV
+ * Número da DU-E
Tamanho: 14
Formato: AABRSSSSSSSSSD
Descrição Formato
AA - Ano
BR - Brasil
SSSSSSSSS - Numeração sequencial
D - DV
**/
private String numeroDUE = null;
- @XmlElement(name = "numeroRUC")
- @ApiModelProperty(example = "7BR00000000100000000000000000048055", value = "Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN")
+ @XmlElement(name = "numeroRUC", required = true)
+ @ApiModelProperty(example = "7BR276574827551833214353477473070", required = true, value = "Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN")
/**
- * Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
+ * Número da RUC ou RUC Master
Tamanho mínimo: 13
Tamanho máximo: 35
Formato: NAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
**/
private String numeroRUC = null;
+ @XmlElement(name = "cargaSoltaVeiculo", required = true)
+ @ApiModelProperty(required = true, value = "Lista de cargas soltas/veículos")
+ @Valid
/**
- * Tamanho: 14<br>Formato: AABRSSSSSSSSSD<br>Descrição Formato<br>AA - Ano<br>BR - Brasil<br>SSSSSSSSS - número sequencial<br>D - DV
+ * Lista de cargas soltas/veículos
+ **/
+ private List
No formato AAAA-MM-YY")
+ /**
+ * Data de Emissão do Documento de Transporte
No formato AAAA-MM-YY
+ **/
+ private String dataEmissao = null;
+
+ @XmlElement(name="cpfCnpjTransportador")
+ @ApiModelProperty(example = "27657485000147", value = "CPF ou CNPJ do Transportador")
+ /**
+ * CPF ou CNPJ do Transportador
+ **/
+ private String cpfCnpjTransportador = null;
+
+ @XmlElement(name="nomeTransportador")
+ @ApiModelProperty(example = "IEYIQBEIWMVEU KXIXW DVNW", value = "Nome do Transportador")
+ /**
+ * Nome do Transportador
+ **/
+ private String nomeTransportador = null;
+
+
+@XmlType(name="TipoDATEnum")
+@XmlEnum(String.class)
+public enum TipoDATEnum {
+
+ @XmlEnumValue("SIMPLIFICADO")
+ @JsonProperty("SIMPLIFICADO")
+ SIMPLIFICADO(String.valueOf("SIMPLIFICADO")),
+
+ @XmlEnumValue("COMPLETO")
+ @JsonProperty("COMPLETO")
+ COMPLETO(String.valueOf("COMPLETO"));
+
+
+ private String value;
+
+ TipoDATEnum (String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoDATEnum fromValue(String v) {
+ for (TipoDATEnum b : TipoDATEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoDATEnum");
+ }
+}
+
+ @XmlElement(name="tipoDAT")
+ @ApiModelProperty(value = "Tipo do DAT")
+ /**
+ * Tipo do DAT
+ **/
+ private TipoDATEnum tipoDAT = null;
+
+ @XmlElement(name="localOrigem")
+ @ApiModelProperty(value = "")
+ @Valid
+ private Local localOrigem = null;
+
+ @XmlElement(name="localDestinoPrevisto")
+ @ApiModelProperty(value = "")
+ @Valid
+ private Local localDestinoPrevisto = null;
+
+ @XmlElement(name="localDestinoRealizado")
+ @ApiModelProperty(value = "")
+ @Valid
+ private Local localDestinoRealizado = null;
+
+ @XmlElement(name="localManifestacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private Local localManifestacao = null;
+
+ @XmlElement(name="localEstoque")
+ @ApiModelProperty(value = "")
+ @Valid
+ private Local localEstoque = null;
+
+ @XmlElement(name="veiculoFerroviario")
+ @ApiModelProperty(value = "")
+ @Valid
+ private VeiculoFerroviario veiculoFerroviario = null;
+
+ @XmlElement(name="veiculoRodoviario")
+ @ApiModelProperty(value = "")
+ @Valid
+ private VeiculoRodovario veiculoRodoviario = null;
+
+ @XmlElement(name="conteineres")
+ @ApiModelProperty(value = "Lista de Contêineres vinculados ao documento de transporte")
+ @Valid
+ /**
+ * Lista de Contêineres vinculados ao documento de transporte
+ **/
+ private List
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 4.2
Formato: NNNN.NN")
+ @Valid
+ /**
+ * Peso aferido na balança do recinto em Kg
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 4.2
Formato: NNNN.NN
+ **/
+ private BigDecimal pesoBrutoTransportado = null;
+
+ @XmlElement(name="observacao")
+ @ApiModelProperty(example = "Observações adicionais", value = "Observações adicionais")
+ /**
+ * Observações adicionais
+ **/
+ private String observacao = null;
+
+ @XmlElement(name="dadosVeiculoConferem")
+ @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados do veículo com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados do veículo com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosVeiculoConferem = null;
+
+ @XmlElement(name="dadosUnidadeTransporteConferem")
+ @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados da unidade de transporte com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados da unidade de transporte com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosUnidadeTransporteConferem = null;
+
+ @XmlElement(name="dadosConteinerConferem")
+ @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados do contêiner com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados do contêiner com os dados recepcionados
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosConteinerConferem = null;
+
+ @XmlElement(name="dadosEmbalagemConferem")
+ @ApiModelProperty(example = "N", value = "Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosEmbalagemConferem = null;
+
+ @XmlElement(name="cargaComAvaria")
+ @ApiModelProperty(example = "N", value = "Indicador de avarias
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de avarias
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String cargaComAvaria = null;
+
+ @XmlElement(name="descricaoAvaria")
+ @ApiModelProperty(example = "Avarias identificadas", value = "Avarias identificadas")
+ /**
+ * Avarias identificadas
+ **/
+ private String descricaoAvaria = null;
+
+ @XmlElement(name="cargaComDivergencia")
+ @ApiModelProperty(example = "N", value = "Indicador de divergências
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de divergências
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String cargaComDivergencia = null;
+
+ @XmlElement(name="descricaoDivergencia")
+ @ApiModelProperty(example = "Divergências identificadas", value = "Divergências identificadas")
+ /**
+ * Divergências identificadas
+ **/
+ private String descricaoDivergencia = null;
+
+ @XmlElement(name="observacaoRecepcao")
+ @ApiModelProperty(example = "Observações adicionais", value = "Observações adicionais")
+ /**
+ * Observações adicionais
+ **/
+ private String observacaoRecepcao = null;
+ /**
+ * Número do documento de transporte
+ * @return numeroDocumentoTransporte
+ **/
+ @JsonProperty("numeroDocumentoTransporte")
+ public String getNumeroDocumentoTransporte() {
+ return numeroDocumentoTransporte;
+ }
+
+ public void setNumeroDocumentoTransporte(String numeroDocumentoTransporte) {
+ this.numeroDocumentoTransporte = numeroDocumentoTransporte;
+ }
+
+ public DocumentoTransporte numeroDocumentoTransporte(String numeroDocumentoTransporte) {
+ this.numeroDocumentoTransporte = numeroDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Tipo de documento de transporte
+ * @return tipoDocumentoTransporte
+ **/
+ @JsonProperty("tipoDocumentoTransporte")
+ public String getTipoDocumentoTransporte() {
+ if (tipoDocumentoTransporte == null) {
+ return null;
+ }
+ return tipoDocumentoTransporte.value();
+ }
+
+ public void setTipoDocumentoTransporte(TipoDocumentoTransporteEnum tipoDocumentoTransporte) {
+ this.tipoDocumentoTransporte = tipoDocumentoTransporte;
+ }
+
+ public DocumentoTransporte tipoDocumentoTransporte(TipoDocumentoTransporteEnum tipoDocumentoTransporte) {
+ this.tipoDocumentoTransporte = tipoDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Número do RUT
+ * @return numeroRUT
+ **/
+ @JsonProperty("numeroRUT")
+ public String getNumeroRUT() {
+ return numeroRUT;
+ }
+
+ public void setNumeroRUT(String numeroRUT) {
+ this.numeroRUT = numeroRUT;
+ }
+
+ public DocumentoTransporte numeroRUT(String numeroRUT) {
+ this.numeroRUT = numeroRUT;
+ return this;
+ }
+
+ /**
+ * Get viaTransporte
+ * @return viaTransporte
+ **/
+ @JsonProperty("viaTransporte")
+ public ViaDeTransporteCCTDTO getViaTransporte() {
+ return viaTransporte;
+ }
+
+ public void setViaTransporte(ViaDeTransporteCCTDTO viaTransporte) {
+ this.viaTransporte = viaTransporte;
+ }
+
+ public DocumentoTransporte viaTransporte(ViaDeTransporteCCTDTO viaTransporte) {
+ this.viaTransporte = viaTransporte;
+ return this;
+ }
+
+ /**
+ * Situação do documento de transporte
+ * @return situacaoAtual
+ **/
+ @JsonProperty("situacaoAtual")
+ public String getSituacaoAtual() {
+ return situacaoAtual;
+ }
+
+ public void setSituacaoAtual(String situacaoAtual) {
+ this.situacaoAtual = situacaoAtual;
+ }
+
+ public DocumentoTransporte situacaoAtual(String situacaoAtual) {
+ this.situacaoAtual = situacaoAtual;
+ return this;
+ }
+
+ /**
+ * Situação do documento de transporte
+ * @return situacoesObservacao
+ **/
+ @JsonProperty("situacoesObservacao")
+ public Map
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA")
+ /**
+ * Identificação do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA
+ **/
+ private String identificacaoDocumentoTransporte = null;
+
+ @XmlElement(name="tipoDocumentoTransporte", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros")
+ /**
+ * Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros
+ **/
+ private Integer tipoDocumentoTransporte = null;
+
+ @XmlElement(name="dataEmissaoDocumentoTransporte", required = true)
+ @ApiModelProperty(example = "2018-04-01", required = true, value = "Data de emissão do documento de transporte
Formato: AAAA-MM-DD")
+ /**
+ * Data de emissão do documento de transporte
Formato: AAAA-MM-DD
+ **/
+ private String dataEmissaoDocumentoTransporte = null;
+
+ @XmlElement(name="dadosVeiculoConferem", required = true)
+ @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosVeiculoConferem = null;
+
+ @XmlElement(name="dadosUnidadeTransporteConferem", required = true)
+ @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosUnidadeTransporteConferem = null;
+
+ @XmlElement(name="dadosConteinerConferem", required = true)
+ @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosConteinerConferem = null;
+
+ @XmlElement(name="dadosEmbalagemConferem", required = true)
+ @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
+ /**
+ * Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
+ **/
+ private String dadosEmbalagemConferem = null;
+
+ @XmlElement(name="pesoAferido")
+ @ApiModelProperty(example = "100.0", value = "Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN")
+ @Valid
+ /**
+ * Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN
+ **/
+ private BigDecimal pesoAferido = null;
+
+ @XmlElement(name="motivoNaoPesagem")
+ @ApiModelProperty(example = "Motivo da não realização da pesagem", value = "Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.")
+ /**
+ * Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.
+ **/
+ private String motivoNaoPesagem = null;
+ /**
+ * Identificação do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho Máximo: 15<br>Formato: AAAAAAAAAAAAAAA
+ * @return identificacaoDocumentoTransporte
+ **/
+ @JsonProperty("identificacaoDocumentoTransporte")
+ @NotNull
+ public String getIdentificacaoDocumentoTransporte() {
+ return identificacaoDocumentoTransporte;
+ }
+
+ public void setIdentificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) {
+ this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte;
+ }
+
+ public DocumentoTransporteCover identificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) {
+ this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Tipo do documento de transporte<br>Tamanho: 2<br>Domínio<br>01 - MIC/DTA<br>02 - TIF/DTA<br>03 - DTAI<br>04 - Outros
+ * @return tipoDocumentoTransporte
+ **/
+ @JsonProperty("tipoDocumentoTransporte")
+ @NotNull
+ public Integer getTipoDocumentoTransporte() {
+ return tipoDocumentoTransporte;
+ }
+
+ public void setTipoDocumentoTransporte(Integer tipoDocumentoTransporte) {
+ this.tipoDocumentoTransporte = tipoDocumentoTransporte;
+ }
+
+ public DocumentoTransporteCover tipoDocumentoTransporte(Integer tipoDocumentoTransporte) {
+ this.tipoDocumentoTransporte = tipoDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Data de emissão do documento de transporte<br>Formato: AAAA-MM-DD
+ * @return dataEmissaoDocumentoTransporte
+ **/
+ @JsonProperty("dataEmissaoDocumentoTransporte")
+ @NotNull
+ public String getDataEmissaoDocumentoTransporte() {
+ return dataEmissaoDocumentoTransporte;
+ }
+
+ public void setDataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) {
+ this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte;
+ }
+
+ public DocumentoTransporteCover dataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) {
+ this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Indicador de conferência dos dados do veículo com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
+ * @return dadosVeiculoConferem
+ **/
+ @JsonProperty("dadosVeiculoConferem")
+ @NotNull
+ public String getDadosVeiculoConferem() {
+ return dadosVeiculoConferem;
+ }
+
+ public void setDadosVeiculoConferem(String dadosVeiculoConferem) {
+ this.dadosVeiculoConferem = dadosVeiculoConferem;
+ }
+
+ public DocumentoTransporteCover dadosVeiculoConferem(String dadosVeiculoConferem) {
+ this.dadosVeiculoConferem = dadosVeiculoConferem;
+ return this;
+ }
+
+ /**
+ * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
+ * @return dadosUnidadeTransporteConferem
+ **/
+ @JsonProperty("dadosUnidadeTransporteConferem")
+ @NotNull
+ public String getDadosUnidadeTransporteConferem() {
+ return dadosUnidadeTransporteConferem;
+ }
+
+ public void setDadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) {
+ this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem;
+ }
+
+ public DocumentoTransporteCover dadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) {
+ this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem;
+ return this;
+ }
+
+ /**
+ * Indicador de conferência dos dados do contêiner com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
+ * @return dadosConteinerConferem
+ **/
+ @JsonProperty("dadosConteinerConferem")
+ @NotNull
+ public String getDadosConteinerConferem() {
+ return dadosConteinerConferem;
+ }
+
+ public void setDadosConteinerConferem(String dadosConteinerConferem) {
+ this.dadosConteinerConferem = dadosConteinerConferem;
+ }
+
+ public DocumentoTransporteCover dadosConteinerConferem(String dadosConteinerConferem) {
+ this.dadosConteinerConferem = dadosConteinerConferem;
+ return this;
+ }
+
+ /**
+ * Indicador de conferência dos dados das embalagens com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
+ * @return dadosEmbalagemConferem
+ **/
+ @JsonProperty("dadosEmbalagemConferem")
+ @NotNull
+ public String getDadosEmbalagemConferem() {
+ return dadosEmbalagemConferem;
+ }
+
+ public void setDadosEmbalagemConferem(String dadosEmbalagemConferem) {
+ this.dadosEmbalagemConferem = dadosEmbalagemConferem;
+ }
+
+ public DocumentoTransporteCover dadosEmbalagemConferem(String dadosEmbalagemConferem) {
+ this.dadosEmbalagemConferem = dadosEmbalagemConferem;
+ return this;
+ }
+
+ /**
+ * Peso aferido na balança do recinto em Kg.<br>Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN
+ * @return pesoAferido
+ **/
+ @JsonProperty("pesoAferido")
+ public BigDecimal getPesoAferido() {
+ return pesoAferido;
+ }
+
+ public void setPesoAferido(BigDecimal pesoAferido) {
+ this.pesoAferido = pesoAferido;
+ }
+
+ public DocumentoTransporteCover pesoAferido(BigDecimal pesoAferido) {
+ this.pesoAferido = pesoAferido;
+ return this;
+ }
+
+ /**
+ * Motivo da não realização da pesagem<br>Tamanho: 250<br>Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.
+ * @return motivoNaoPesagem
+ **/
+ @JsonProperty("motivoNaoPesagem")
+ public String getMotivoNaoPesagem() {
+ return motivoNaoPesagem;
+ }
+
+ public void setMotivoNaoPesagem(String motivoNaoPesagem) {
+ this.motivoNaoPesagem = motivoNaoPesagem;
+ }
+
+ public DocumentoTransporteCover motivoNaoPesagem(String motivoNaoPesagem) {
+ this.motivoNaoPesagem = motivoNaoPesagem;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DocumentoTransporteCover {\n");
+
+ sb.append(" identificacaoDocumentoTransporte: ").append(toIndentedString(identificacaoDocumentoTransporte)).append("\n");
+ sb.append(" tipoDocumentoTransporte: ").append(toIndentedString(tipoDocumentoTransporte)).append("\n");
+ sb.append(" dataEmissaoDocumentoTransporte: ").append(toIndentedString(dataEmissaoDocumentoTransporte)).append("\n");
+ sb.append(" dadosVeiculoConferem: ").append(toIndentedString(dadosVeiculoConferem)).append("\n");
+ sb.append(" dadosUnidadeTransporteConferem: ").append(toIndentedString(dadosUnidadeTransporteConferem)).append("\n");
+ sb.append(" dadosConteinerConferem: ").append(toIndentedString(dadosConteinerConferem)).append("\n");
+ sb.append(" dadosEmbalagemConferem: ").append(toIndentedString(dadosEmbalagemConferem)).append("\n");
+ sb.append(" pesoAferido: ").append(toIndentedString(pesoAferido)).append("\n");
+ sb.append(" motivoNaoPesagem: ").append(toIndentedString(motivoNaoPesagem)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransportePK.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransportePK.java
new file mode 100644
index 0000000..3a9c7a6
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentoTransportePK.java
@@ -0,0 +1,90 @@
+package br.gov.siscomex.portalunico.cct_ext.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "DocumentoTransportePK", propOrder =
+ { "ano", "sequencia"
+})
+
+@XmlRootElement(name="DocumentoTransportePK")
+public class DocumentoTransportePK {
+
+ @XmlElement(name="ano")
+ @ApiModelProperty(value = "")
+ @Valid
+ private BigDecimal ano = null;
+
+ @XmlElement(name="sequencia")
+ @ApiModelProperty(value = "")
+ @Valid
+ private BigDecimal sequencia = null;
+ /**
+ * Get ano
+ * @return ano
+ **/
+ @JsonProperty("ano")
+ public BigDecimal getAno() {
+ return ano;
+ }
+
+ public void setAno(BigDecimal ano) {
+ this.ano = ano;
+ }
+
+ public DocumentoTransportePK ano(BigDecimal ano) {
+ this.ano = ano;
+ return this;
+ }
+
+ /**
+ * Get sequencia
+ * @return sequencia
+ **/
+ @JsonProperty("sequencia")
+ public BigDecimal getSequencia() {
+ return sequencia;
+ }
+
+ public void setSequencia(BigDecimal sequencia) {
+ this.sequencia = sequencia;
+ }
+
+ public DocumentoTransportePK sequencia(BigDecimal sequencia) {
+ this.sequencia = sequencia;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class DocumentoTransportePK {\n");
+
+ sb.append(" ano: ").append(toIndentedString(ano)).append("\n");
+ sb.append(" sequencia: ").append(toIndentedString(sequencia)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosAnexo.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosAnexo.java
deleted file mode 100644
index 0955050..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/DocumentosAnexo.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.Valid;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import java.util.List;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "DocumentosAnexo", propOrder =
- {"documentoAnexo"
- })
-
-@XmlRootElement(name = "DocumentosAnexo")
-/**
- * Documentos em Anexo
- **/
-@ApiModel(description = "Documentos em Anexo")
-public class DocumentosAnexo {
-
- @XmlElement(name = "documentoAnexo")
- @ApiModelProperty(value = "Documentos em Passagem")
- @Valid
- /**
- * Documentos em Passagem
- **/
- private List
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA")
- /**
- * Identificação do documento de transporte
Tamanho mínimo: 5
Tamanho Máximo: 15
Formato: AAAAAAAAAAAAAAA
- **/
- private String identificacaoDocumentoTransporte = null;
-
- @XmlElement(name = "tipoDocumentoTransporte", required = true)
- @ApiModelProperty(example = "1", required = true, value = "Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros")
- /**
- * Tipo do documento de transporte
Tamanho: 2
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros
- **/
- private Integer tipoDocumentoTransporte = null;
-
- @XmlElement(name = "dataEmissaoDocumentoTransporte", required = true)
- @ApiModelProperty(example = "2018-04-01", required = true, value = "Data de emissão do documento de transporte
Formato: AAAA-MM-DD")
- /**
- * Data de emissão do documento de transporte
Formato: AAAA-MM-DD
- **/
- private String dataEmissaoDocumentoTransporte = null;
-
- @XmlElement(name = "dadosVeiculoConferem", required = true)
- @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
- /**
- * Indicador de conferência dos dados do veículo com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
- **/
- private String dadosVeiculoConferem = null;
-
- @XmlElement(name = "dadosUnidadeTransporteConferem", required = true)
- @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
- /**
- * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
- **/
- private String dadosUnidadeTransporteConferem = null;
-
- @XmlElement(name = "dadosConteinerConferem", required = true)
- @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
- /**
- * Indicador de conferência dos dados do contêiner com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
- **/
- private String dadosConteinerConferem = null;
-
- @XmlElement(name = "dadosEmbalagemConferem", required = true)
- @ApiModelProperty(example = "N", required = true, value = "Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica")
- /**
- * Indicador de conferência dos dados das embalagens com os dados informados na entrega
Domínio: S = Sim, N = Não e NA = Não se aplica
- **/
- private String dadosEmbalagemConferem = null;
-
- @XmlElement(name = "pesoAferido")
- @ApiModelProperty(example = "100.0", value = "Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN")
- @Valid
- /**
- * Peso aferido na balança do recinto em Kg.
Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN
- **/
- private BigDecimal pesoAferido = null;
-
- @XmlElement(name = "motivoNaoPesagem")
- @ApiModelProperty(example = "Motivo da não realização da pesagem", value = "Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.")
- /**
- * Motivo da não realização da pesagem
Tamanho: 250
Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.
- **/
- private String motivoNaoPesagem = null;
-
- /**
- * Identificação do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho Máximo: 15<br>Formato: AAAAAAAAAAAAAAA
- *
- * @return identificacaoDocumentoTransporte
- **/
- @JsonProperty("identificacaoDocumentoTransporte")
- @NotNull
- public String getIdentificacaoDocumentoTransporte() {
- return identificacaoDocumentoTransporte;
- }
-
- public void setIdentificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) {
- this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte;
- }
-
- public DocumentosTransporte identificacaoDocumentoTransporte(String identificacaoDocumentoTransporte) {
- this.identificacaoDocumentoTransporte = identificacaoDocumentoTransporte;
- return this;
- }
-
- /**
- * Tipo do documento de transporte<br>Tamanho: 2<br>Domínio<br>01 - MIC/DTA<br>02 - TIF/DTA<br>03 - DTAI<br>04 - Outros
- *
- * @return tipoDocumentoTransporte
- **/
- @JsonProperty("tipoDocumentoTransporte")
- @NotNull
- public Integer getTipoDocumentoTransporte() {
- return tipoDocumentoTransporte;
- }
-
- public void setTipoDocumentoTransporte(Integer tipoDocumentoTransporte) {
- this.tipoDocumentoTransporte = tipoDocumentoTransporte;
- }
-
- public DocumentosTransporte tipoDocumentoTransporte(Integer tipoDocumentoTransporte) {
- this.tipoDocumentoTransporte = tipoDocumentoTransporte;
- return this;
- }
-
- /**
- * Data de emissão do documento de transporte<br>Formato: AAAA-MM-DD
- *
- * @return dataEmissaoDocumentoTransporte
- **/
- @JsonProperty("dataEmissaoDocumentoTransporte")
- @NotNull
- public String getDataEmissaoDocumentoTransporte() {
- return dataEmissaoDocumentoTransporte;
- }
-
- public void setDataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) {
- this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte;
- }
-
- public DocumentosTransporte dataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) {
- this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte;
- return this;
- }
-
- /**
- * Indicador de conferência dos dados do veículo com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
- *
- * @return dadosVeiculoConferem
- **/
- @JsonProperty("dadosVeiculoConferem")
- @NotNull
- public String getDadosVeiculoConferem() {
- return dadosVeiculoConferem;
- }
-
- public void setDadosVeiculoConferem(String dadosVeiculoConferem) {
- this.dadosVeiculoConferem = dadosVeiculoConferem;
- }
-
- public DocumentosTransporte dadosVeiculoConferem(String dadosVeiculoConferem) {
- this.dadosVeiculoConferem = dadosVeiculoConferem;
- return this;
- }
-
- /**
- * Indicador de conferência dos dados da unidade de transporte com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
- *
- * @return dadosUnidadeTransporteConferem
- **/
- @JsonProperty("dadosUnidadeTransporteConferem")
- @NotNull
- public String getDadosUnidadeTransporteConferem() {
- return dadosUnidadeTransporteConferem;
- }
-
- public void setDadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) {
- this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem;
- }
-
- public DocumentosTransporte dadosUnidadeTransporteConferem(String dadosUnidadeTransporteConferem) {
- this.dadosUnidadeTransporteConferem = dadosUnidadeTransporteConferem;
- return this;
- }
-
- /**
- * Indicador de conferência dos dados do contêiner com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
- *
- * @return dadosConteinerConferem
- **/
- @JsonProperty("dadosConteinerConferem")
- @NotNull
- public String getDadosConteinerConferem() {
- return dadosConteinerConferem;
- }
-
- public void setDadosConteinerConferem(String dadosConteinerConferem) {
- this.dadosConteinerConferem = dadosConteinerConferem;
- }
-
- public DocumentosTransporte dadosConteinerConferem(String dadosConteinerConferem) {
- this.dadosConteinerConferem = dadosConteinerConferem;
- return this;
- }
-
- /**
- * Indicador de conferência dos dados das embalagens com os dados informados na entrega<br>Domínio: S = Sim, N = Não e NA = Não se aplica
- *
- * @return dadosEmbalagemConferem
- **/
- @JsonProperty("dadosEmbalagemConferem")
- @NotNull
- public String getDadosEmbalagemConferem() {
- return dadosEmbalagemConferem;
- }
-
- public void setDadosEmbalagemConferem(String dadosEmbalagemConferem) {
- this.dadosEmbalagemConferem = dadosEmbalagemConferem;
- }
-
- public DocumentosTransporte dadosEmbalagemConferem(String dadosEmbalagemConferem) {
- this.dadosEmbalagemConferem = dadosEmbalagemConferem;
- return this;
- }
-
- /**
- * Peso aferido na balança do recinto em Kg.<br>Deve ser informado somente quando há informação de pesagem. Neste caso, é obrigatório.<br>Tamanho: 12.3<br>Formato: NNNNNNNNNNNN.NNN
- *
- * @return pesoAferido
- **/
- @JsonProperty("pesoAferido")
- public BigDecimal getPesoAferido() {
- return pesoAferido;
- }
-
- public void setPesoAferido(BigDecimal pesoAferido) {
- this.pesoAferido = pesoAferido;
- }
-
- public DocumentosTransporte pesoAferido(BigDecimal pesoAferido) {
- this.pesoAferido = pesoAferido;
- return this;
- }
-
- /**
- * Motivo da não realização da pesagem<br>Tamanho: 250<br>Deve ser informado somente quando não há informação de pesagem. Neste caso, é obrigatório.
- * @return motivoNaoPesagem
- **/
- @JsonProperty("motivoNaoPesagem")
- public String getMotivoNaoPesagem() {
- return motivoNaoPesagem;
- }
-
- public void setMotivoNaoPesagem(String motivoNaoPesagem) {
- this.motivoNaoPesagem = motivoNaoPesagem;
- }
-
- public DocumentosTransporte motivoNaoPesagem(String motivoNaoPesagem) {
- this.motivoNaoPesagem = motivoNaoPesagem;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class DocumentosTransporte {\n" +
- " identificacaoDocumentoTransporte: " + toIndentedString(identificacaoDocumentoTransporte) + "\n" +
- " tipoDocumentoTransporte: " + toIndentedString(tipoDocumentoTransporte) + "\n" +
- " dataEmissaoDocumentoTransporte: " + toIndentedString(dataEmissaoDocumentoTransporte) + "\n" +
- " dadosVeiculoConferem: " + toIndentedString(dadosVeiculoConferem) + "\n" +
- " dadosUnidadeTransporteConferem: " + toIndentedString(dadosUnidadeTransporteConferem) + "\n" +
- " dadosConteinerConferem: " + toIndentedString(dadosConteinerConferem) + "\n" +
- " dadosEmbalagemConferem: " + toIndentedString(dadosEmbalagemConferem) + "\n" +
- " pesoAferido: " + toIndentedString(pesoAferido) + "\n" +
- " motivoNaoPesagem: " + toIndentedString(motivoNaoPesagem) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java
index 7a74b01..eb4dd06 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/EntregaDocumentoTransporte.java
@@ -58,7 +58,7 @@ public class EntregaDocumentoTransporte {
/**
* Dados dos documentos de transporte
**/
- private List
Domínio: Tabela Tipo de Moeda")
+ @ApiModelProperty(example = "USD", required = true, value = "Código da moeda do Frete
Tamanho: 3
Formato: AAA
Domínio: Tabela Tipo de Moeda")
/**
- * Código da moeda do Frete
Domínio: Tabela Tipo de Moeda
+ * Código da moeda do Frete
Tamanho: 3
Formato: AAA
Domínio: Tabela Tipo de Moeda
**/
private String codigoMoedaFrete = null;
- @XmlElement(name = "formaPagamento", required = true)
+ @XmlElement(name = "formaPagamentoFrete", required = true)
@ApiModelProperty(example = "1", required = true, value = "Forma de pagamento do frete
Domínio: 1 (prepaid), 2 (collect).")
/**
* Forma de pagamento do frete
Domínio: 1 (prepaid), 2 (collect).
**/
- private String formaPagamento = null;
+ private String formaPagamentoFrete = null;
- @XmlElement(name = "valor", required = true)
- @ApiModelProperty(example = "15632.87", required = true, value = "Valor do frete")
+ @XmlElement(name = "valorFrete", required = true)
+ @ApiModelProperty(example = "15632.87", required = true, value = "Valor do frete
Tamanho: 15.2
Formato: Decimal, com duas casas decimais separadas por ponto")
@Valid
/**
- * Valor do frete
+ * Valor do frete
Tamanho: 15.2
Formato: Decimal, com duas casas decimais separadas por ponto
**/
- private BigDecimal valor = null;
+ private BigDecimal valorFrete = null;
/**
- * Código da moeda do Frete<br>Domínio: Tabela Tipo de Moeda
+ * Código da moeda do Frete<br>Tamanho: 3<br>Formato: AAA<br>Domínio: Tabela Tipo de Moeda
*
* @return codigoMoedaFrete
**/
@@ -70,40 +70,40 @@ public Frete codigoMoedaFrete(String codigoMoedaFrete) {
/**
* Forma de pagamento do frete<br>Domínio: 1 (prepaid), 2 (collect).
*
- * @return formaPagamento
+ * @return formaPagamentoFrete
**/
- @JsonProperty("formaPagamento")
+ @JsonProperty("formaPagamentoFrete")
@NotNull
- public String getFormaPagamento() {
- return formaPagamento;
+ public String getFormaPagamentoFrete() {
+ return formaPagamentoFrete;
}
- public void setFormaPagamento(String formaPagamento) {
- this.formaPagamento = formaPagamento;
+ public void setFormaPagamentoFrete(String formaPagamentoFrete) {
+ this.formaPagamentoFrete = formaPagamentoFrete;
}
- public Frete formaPagamento(String formaPagamento) {
- this.formaPagamento = formaPagamento;
+ public Frete formaPagamentoFrete(String formaPagamentoFrete) {
+ this.formaPagamentoFrete = formaPagamentoFrete;
return this;
}
/**
- * Valor do frete
+ * Valor do frete<br>Tamanho: 15.2<br>Formato: Decimal, com duas casas decimais separadas por ponto
*
- * @return valor
+ * @return valorFrete
**/
- @JsonProperty("valor")
+ @JsonProperty("valorFrete")
@NotNull
- public BigDecimal getValor() {
- return valor;
+ public BigDecimal getValorFrete() {
+ return valorFrete;
}
- public void setValor(BigDecimal valor) {
- this.valor = valor;
+ public void setValorFrete(BigDecimal valorFrete) {
+ this.valorFrete = valorFrete;
}
- public Frete valor(BigDecimal valor) {
- this.valor = valor;
+ public Frete valorFrete(BigDecimal valorFrete) {
+ this.valorFrete = valorFrete;
return this;
}
@@ -113,8 +113,8 @@ public String toString() {
String sb = "class Frete {\n" +
" codigoMoedaFrete: " + toIndentedString(codigoMoedaFrete) + "\n" +
- " formaPagamento: " + toIndentedString(formaPagamento) + "\n" +
- " valor: " + toIndentedString(valor) + "\n" +
+ " formaPagamentoFrete: " + toIndentedString(formaPagamentoFrete) + "\n" +
+ " valorFrete: " + toIndentedString(valorFrete) + "\n" +
"}";
return sb;
}
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java
index 15d8961..feec208 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Granel.java
@@ -11,51 +11,127 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
+import java.math.BigDecimal;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Granel", propOrder =
- {"carga"
+ {"tipoGranel", "sgUnidadeMedida", "total", "quantidade"
})
@XmlRootElement(name = "Granel")
/**
- * Lista de granel
+ * Dados do granel
**/
-@ApiModel(description = "Lista de granel")
+@ApiModel(description = "Dados do granel")
public class Granel {
- @XmlElement(name = "carga", required = true)
- @ApiModelProperty(required = true, value = "lista de granel")
+ @XmlElement(name = "tipoGranel", required = true)
+ @ApiModelProperty(example = "19", required = true, value = "Tipo de granel conforme a tabela Tipo de Granel
Tamanho: 2
Formato: NN")
+ /**
+ * Tipo de granel conforme a tabela Tipo de Granel
Tamanho: 2
Formato: NN
+ **/
+ private Integer tipoGranel = null;
+
+ @XmlElement(name = "sgUnidadeMedida", required = true)
+ @ApiModelProperty(example = "kg", required = true, value = "Unidade de medida estatística
Tamanho: 4
Formato: AAAA
Domínio: kg = quilo e m3 = metro cúbico.")
+ /**
+ * Unidade de medida estatística
Tamanho: 4
Formato: AAAA
Domínio: kg = quilo e m3 = metro cúbico.
+ **/
+ private String sgUnidadeMedida = null;
+
+ @XmlElement(name = "total", required = true)
+ @ApiModelProperty(example = "9923.456", required = true, value = "Peso bruto total, caso ainda não tenha sido informado
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN")
+ @Valid
+ /**
+ * Peso bruto total, caso ainda não tenha sido informado
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN
+ **/
+ private BigDecimal total = null;
+
+ @XmlElement(name = "quantidade", required = true)
+ @ApiModelProperty(example = "123.456", required = true, value = "Peso bruto
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN")
@Valid
/**
- * lista de granel
+ * Peso bruto
Tamanho: 12.3
Formato: NNNNNNNNNNNN.NNN
+ **/
+ private BigDecimal quantidade = null;
+
+ /**
+ * Tipo de granel conforme a tabela Tipo de Granel<br>Tamanho: 2<br>Formato: NN
+ *
+ * @return tipoGranel
+ **/
+ @JsonProperty("tipoGranel")
+ @NotNull
+ public Integer getTipoGranel() {
+ return tipoGranel;
+ }
+
+ public void setTipoGranel(Integer tipoGranel) {
+ this.tipoGranel = tipoGranel;
+ }
+
+ public Granel tipoGranel(Integer tipoGranel) {
+ this.tipoGranel = tipoGranel;
+ return this;
+ }
+
+ /**
+ * Unidade de medida estatística<br>Tamanho: 4<br>Formato: AAAA<br>Domínio: kg = quilo e m3 = metro cúbico.
+ *
+ * @return sgUnidadeMedida
**/
- private List
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física.")
- /**
- * CPF do Manifestador
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física.
- **/
- private String cpfManifestador = null;
-
- @XmlElement(name = "cnpjManifestador")
- @ApiModelProperty(example = "15573459000106", value = "CNPJ do Manifestador
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.")
- /**
- * CNPJ do Manifestador
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.
- **/
- private String cnpjManifestador = null;
-
-
- @XmlType(name = "PaisDestinoEnum")
- @XmlEnum(String.class)
- public enum PaisDestinoEnum {
-
- @XmlEnumValue("AR")
- @JsonProperty("AR")
- AR("AR"),
-
- @XmlEnumValue("BO")
- @JsonProperty("BO")
- BO("BO"),
-
- @XmlEnumValue("CL")
- @JsonProperty("CL")
- CL("CL"),
-
- @XmlEnumValue("PY")
- @JsonProperty("PY")
- PY("PY"),
-
- @XmlEnumValue("PE")
- @JsonProperty("PE")
- PE("PE"),
-
- @XmlEnumValue("UY")
- @JsonProperty("UY")
- UY("UY");
-
-
- private final String value;
-
- PaisDestinoEnum(String v) {
- value = v;
- }
-
- public String value() {
- return value;
- }
-
- @Override
- public String toString() {
- return String.valueOf(value);
- }
-
- public static PaisDestinoEnum fromValue(String v) {
- for (PaisDestinoEnum b : PaisDestinoEnum.values()) {
- if (String.valueOf(b.value).equals(v)) {
- return b;
- }
- }
- throw new IllegalArgumentException("Unexpected value '" + v + "' to PaisDestinoEnum");
- }
- }
-
- @XmlElement(name = "paisDestino", required = true)
- @ApiModelProperty(example = "AR", required = true, value = "Código do país de destino da carga
Tamanho: 2
Formato: AA
Domínio:
AR (Argentina),
BO (Bolívia),
CL (Chile),
PY (Paraguai),
PE (Peru),
UY (Uruguai)")
- /**
- * Código do país de destino da carga
Tamanho: 2
Formato: AA
Domínio:
AR (Argentina),
BO (Bolívia),
CL (Chile),
PY (Paraguai),
PE (Peru),
UY (Uruguai)
- **/
- private PaisDestinoEnum paisDestino = null;
-
- @XmlElement(name = "cidadeDestino", required = true)
- @ApiModelProperty(example = "BUENOS AIRES", required = true, value = "Nome da cidade de destino da carga
Tamanho: 60")
- /**
- * Nome da cidade de destino da carga
Tamanho: 60
- **/
- private String cidadeDestino = null;
-
- @XmlElement(name = "indTransitoAduaneiroInternacional", required = true)
- @ApiModelProperty(example = "S", required = true, value = "Indicador de transito aduaneiro internacional
Domínio:
S (Sim),
N(Não).")
- /**
- * Indicador de transito aduaneiro internacional
Domínio:
S (Sim),
N(Não).
- **/
- private String indTransitoAduaneiroInternacional = null;
-
- @XmlElement(name = "docTransporte", required = true)
- @ApiModelProperty(required = true, value = "")
- @Valid
- private DocTransporte docTransporte = null;
-
- @XmlElement(name = "localSaida", required = true)
- @ApiModelProperty(required = true, value = "")
- @Valid
- private LocalSaida localSaida = null;
-
- @XmlElement(name = "observacoes")
- @ApiModelProperty(example = "MIC/DTA Pre-ACD", value = "Observações
Tamanho: 250")
- /**
- * Observações
Tamanho: 250
- **/
- private String observacoes = null;
-
- /**
- * CPF do Manifestador<br>Tamanho: 11<br>Formato: NNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa física.
- *
- * @return cpfManifestador
- **/
- @JsonProperty("cpfManifestador")
- public String getCpfManifestador() {
- return cpfManifestador;
- }
-
- public void setCpfManifestador(String cpfManifestador) {
- this.cpfManifestador = cpfManifestador;
- }
-
- public InfoGeral cpfManifestador(String cpfManifestador) {
- this.cpfManifestador = cpfManifestador;
- return this;
- }
-
- /**
- * CNPJ do Manifestador<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.
- *
- * @return cnpjManifestador
- **/
- @JsonProperty("cnpjManifestador")
- public String getCnpjManifestador() {
- return cnpjManifestador;
- }
-
- public void setCnpjManifestador(String cnpjManifestador) {
- this.cnpjManifestador = cnpjManifestador;
- }
-
- public InfoGeral cnpjManifestador(String cnpjManifestador) {
- this.cnpjManifestador = cnpjManifestador;
- return this;
- }
-
- /**
- * Código do país de destino da carga<br>Tamanho: 2<br>Formato: AA<br>Domínio: <br>AR (Argentina), <br>BO (Bolívia), <br>CL (Chile), <br>PY (Paraguai), <br>PE (Peru), <br>UY (Uruguai)
- *
- * @return paisDestino
- **/
- @JsonProperty("paisDestino")
- @NotNull
- public String getPaisDestino() {
- if (paisDestino == null) {
- return null;
- }
- return paisDestino.value();
- }
-
- public void setPaisDestino(PaisDestinoEnum paisDestino) {
- this.paisDestino = paisDestino;
- }
-
- public InfoGeral paisDestino(PaisDestinoEnum paisDestino) {
- this.paisDestino = paisDestino;
- return this;
- }
-
- /**
- * Nome da cidade de destino da carga<br>Tamanho: 60
- *
- * @return cidadeDestino
- **/
- @JsonProperty("cidadeDestino")
- @NotNull
- public String getCidadeDestino() {
- return cidadeDestino;
- }
-
- public void setCidadeDestino(String cidadeDestino) {
- this.cidadeDestino = cidadeDestino;
- }
-
- public InfoGeral cidadeDestino(String cidadeDestino) {
- this.cidadeDestino = cidadeDestino;
- return this;
- }
-
- /**
- * Indicador de transito aduaneiro internacional<br>Domínio: <br>S (Sim), <br>N(Não).
- *
- * @return indTransitoAduaneiroInternacional
- **/
- @JsonProperty("indTransitoAduaneiroInternacional")
- @NotNull
- public String getIndTransitoAduaneiroInternacional() {
- return indTransitoAduaneiroInternacional;
- }
-
- public void setIndTransitoAduaneiroInternacional(String indTransitoAduaneiroInternacional) {
- this.indTransitoAduaneiroInternacional = indTransitoAduaneiroInternacional;
- }
-
- public InfoGeral indTransitoAduaneiroInternacional(String indTransitoAduaneiroInternacional) {
- this.indTransitoAduaneiroInternacional = indTransitoAduaneiroInternacional;
- return this;
- }
-
- /**
- * Get docTransporte
- *
- * @return docTransporte
- **/
- @JsonProperty("docTransporte")
- @NotNull
- public DocTransporte getDocTransporte() {
- return docTransporte;
- }
-
- public void setDocTransporte(DocTransporte docTransporte) {
- this.docTransporte = docTransporte;
- }
-
- public InfoGeral docTransporte(DocTransporte docTransporte) {
- this.docTransporte = docTransporte;
- return this;
- }
-
- /**
- * Get localSaida
- *
- * @return localSaida
- **/
- @JsonProperty("localSaida")
- @NotNull
- public LocalSaida getLocalSaida() {
- return localSaida;
- }
-
- public void setLocalSaida(LocalSaida localSaida) {
- this.localSaida = localSaida;
- }
-
- public InfoGeral localSaida(LocalSaida localSaida) {
- this.localSaida = localSaida;
- return this;
- }
-
- /**
- * Observações<br>Tamanho: 250
- * @return observacoes
- **/
- @JsonProperty("observacoes")
- public String getObservacoes() {
- return observacoes;
- }
-
- public void setObservacoes(String observacoes) {
- this.observacoes = observacoes;
- }
-
- public InfoGeral observacoes(String observacoes) {
- this.observacoes = observacoes;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class InfoGeral {\n" +
- " cpfManifestador: " + toIndentedString(cpfManifestador) + "\n" +
- " cnpjManifestador: " + toIndentedString(cnpjManifestador) + "\n" +
- " paisDestino: " + toIndentedString(paisDestino) + "\n" +
- " cidadeDestino: " + toIndentedString(cidadeDestino) + "\n" +
- " indTransitoAduaneiroInternacional: " + toIndentedString(indTransitoAduaneiroInternacional) + "\n" +
- " docTransporte: " + toIndentedString(docTransporte) + "\n" +
- " localSaida: " + toIndentedString(localSaida) + "\n" +
- " observacoes: " + toIndentedString(observacoes) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ItemDTO.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ItemDTO.java
new file mode 100644
index 0000000..90bb514
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ItemDTO.java
@@ -0,0 +1,86 @@
+package br.gov.siscomex.portalunico.cct_ext.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "ItemDTO", propOrder =
+ { "codigo", "descricao"
+})
+
+@XmlRootElement(name="ItemDTO")
+public class ItemDTO {
+
+ @XmlElement(name="codigo")
+ @ApiModelProperty(value = "")
+ private String codigo = null;
+
+ @XmlElement(name="descricao")
+ @ApiModelProperty(value = "")
+ private String descricao = null;
+ /**
+ * Get codigo
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public ItemDTO codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Get descricao
+ * @return descricao
+ **/
+ @JsonProperty("descricao")
+ public String getDescricao() {
+ return descricao;
+ }
+
+ public void setDescricao(String descricao) {
+ this.descricao = descricao;
+ }
+
+ public ItemDTO descricao(String descricao) {
+ this.descricao = descricao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class ItemDTO {\n");
+
+ sb.append(" codigo: ").append(toIndentedString(codigo)).append("\n");
+ sb.append(" descricao: ").append(toIndentedString(descricao)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ListaDocumentosTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ListaDocumentosTransporte.java
new file mode 100644
index 0000000..6204b48
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ListaDocumentosTransporte.java
@@ -0,0 +1,111 @@
+package br.gov.siscomex.portalunico.cct_ext.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "ListaDocumentosTransporte", propOrder =
+ { "documentosTransporte", "mensagens"
+})
+
+@XmlRootElement(name="ListaDocumentosTransporte")
+/**
+ * Lista com resultado da consulta de documentos de transporte
+ **/
+@ApiModel(description="Lista com resultado da consulta de documentos de transporte")
+public class ListaDocumentosTransporte {
+
+ @XmlElement(name="documentosTransporte")
+ @ApiModelProperty(value = "Lista de Documentos de Transporte")
+ @Valid
+ /**
+ * Lista de Documentos de Transporte
+ **/
+ private List
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB de Despacho")
+ @XmlElement(name = "codigoURF")
+ @ApiModelProperty(example = "0717600", value = "Código da unidade da Receita Federal onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB.
Deve ser informado apenas quando o receptor não for um depositário.")
/**
- * Código da Unidade da Receita Federal de Despacho
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB de Despacho
+ * Código da unidade da Receita Federal onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Unidades da RFB.
Deve ser informado apenas quando o receptor não for um depositário.
**/
private String codigoURF = null;
@XmlElement(name = "codigoRA")
- @ApiModelProperty(example = "8911101", value = "Código do Recinto Alfandegado
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Recintos Alfandegados.
Deve ser informado somente quando o atributo coordenadas não for informado.")
+ @ApiModelProperty(example = "7911101", value = "Código do recinto alfandegado onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de recintos aduaneiros
Deve ser informado apenas quando o receptor for um depositário.")
/**
- * Código do Recinto Alfandegado
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de Recintos Alfandegados.
Deve ser informado somente quando o atributo coordenadas não for informado.
+ * Código do recinto alfandegado onde a recepção está sendo efetuada
Tamanho: 7
Formato: NNNNNNN
Domínio: Tabela de recintos aduaneiros
Deve ser informado apenas quando o receptor for um depositário.
**/
private String codigoRA = null;
@@ -44,12 +43,11 @@ public class Local {
private Coordenadas coordenadas = null;
/**
- * Código da Unidade da Receita Federal de Despacho<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de Unidades da RFB de Despacho
+ * Código da unidade da Receita Federal onde a recepção está sendo efetuada<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de Unidades da RFB.<br>Deve ser informado apenas quando o receptor não for um depositário.
*
* @return codigoURF
**/
@JsonProperty("codigoURF")
- @NotNull
public String getCodigoURF() {
return codigoURF;
}
@@ -64,7 +62,7 @@ public Local codigoURF(String codigoURF) {
}
/**
- * Código do Recinto Alfandegado<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de Recintos Alfandegados.<br>Deve ser informado somente quando o atributo coordenadas não for informado.
+ * Código do recinto alfandegado onde a recepção está sendo efetuada<br>Tamanho: 7<br>Formato: NNNNNNN<br>Domínio: Tabela de recintos aduaneiros<br>Deve ser informado apenas quando o receptor for um depositário.
*
* @return codigoRA
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java
index 7d1a8e3..f8bb142 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/LocalSaida.java
@@ -4,6 +4,7 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
+import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
@@ -13,14 +14,14 @@
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "LocalSaida", propOrder =
- {"codigoURF", "codigoRA"
+ {"codigoURF", "codigoRA", "cnpjResponsavel", "coordenadas"
})
@XmlRootElement(name = "LocalSaida")
/**
- * Dados do Local de Saída
+ * Local de saída
**/
-@ApiModel(description = "Dados do Local de Saída")
+@ApiModel(description = "Local de saída")
public class LocalSaida {
@XmlElement(name = "codigoURF", required = true)
@@ -37,6 +38,18 @@ public class LocalSaida {
**/
private String codigoRA = null;
+ @XmlElement(name = "cnpjResponsavel", required = true)
+ @ApiModelProperty(example = "15573459000106", required = true, value = "CNPJ do responsável pelo local
Tamanho: 14
Formato: NNNNNNNNNNNNNN")
+ /**
+ * CNPJ do responsável pelo local
Tamanho: 14
Formato: NNNNNNNNNNNNNN
+ **/
+ private String cnpjResponsavel = null;
+
+ @XmlElement(name = "coordenadas", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private Coordenadas coordenadas = null;
+
/**
* Código da Unidade de Região Fiscal<br>Tamanho: 7<br>Formato: NNNNNNN
*
@@ -77,6 +90,46 @@ public LocalSaida codigoRA(String codigoRA) {
return this;
}
+ /**
+ * CNPJ do responsável pelo local<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN
+ *
+ * @return cnpjResponsavel
+ **/
+ @JsonProperty("cnpjResponsavel")
+ @NotNull
+ public String getCnpjResponsavel() {
+ return cnpjResponsavel;
+ }
+
+ public void setCnpjResponsavel(String cnpjResponsavel) {
+ this.cnpjResponsavel = cnpjResponsavel;
+ }
+
+ public LocalSaida cnpjResponsavel(String cnpjResponsavel) {
+ this.cnpjResponsavel = cnpjResponsavel;
+ return this;
+ }
+
+ /**
+ * Get coordenadas
+ *
+ * @return coordenadas
+ **/
+ @JsonProperty("coordenadas")
+ @NotNull
+ public Coordenadas getCoordenadas() {
+ return coordenadas;
+ }
+
+ public void setCoordenadas(Coordenadas coordenadas) {
+ this.coordenadas = coordenadas;
+ }
+
+ public LocalSaida coordenadas(Coordenadas coordenadas) {
+ this.coordenadas = coordenadas;
+ return this;
+ }
+
@Override
public String toString() {
@@ -84,6 +137,8 @@ public String toString() {
String sb = "class LocalSaida {\n" +
" codigoURF: " + toIndentedString(codigoURF) + "\n" +
" codigoRA: " + toIndentedString(codigoRA) + "\n" +
+ " cnpjResponsavel: " + toIndentedString(cnpjResponsavel) + "\n" +
+ " coordenadas: " + toIndentedString(coordenadas) + "\n" +
"}";
return sb;
}
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java
index 6cc5f7b..83bc0c7 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Manifestacao.java
@@ -11,58 +11,125 @@
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import java.util.List;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Manifestacao", propOrder =
- {"identificacaoManifestacao", "infoGeral", "veiculo", "transportador", "conhecimentos", "carga", "rota"
+ {"identificacaoManifestacao", "tipoDocumentoTransporte", "indCargaEnviadaDespacho", "cargaJaEmbarcada", "cnpjTransportador", "cpfTransportador", "codigoURF", "codigoRA", "coordenadas", "cnpjRespEstoqueCarga", "veiculoAereo", "veiculoAquaviario", "outroModal", "conhecimento", "transporteProprio", "observacoes"
})
@XmlRootElement(name = "Manifestacao")
/**
- * Manifesto de Dados de Embarque para Exportação de Carga Pré ACD
+ * Manifesto de Dados de Embarque para Exportação
**/
-@ApiModel(description = "Manifesto de Dados de Embarque para Exportação de Carga Pré ACD")
+@ApiModel(description = "Manifesto de Dados de Embarque para Exportação")
public class Manifestacao {
@XmlElement(name = "identificacaoManifestacao", required = true)
- @ApiModelProperty(example = "MAN001", required = true, value = "Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.
Tamanho: 13
Formato: AAAAAAAAAAAAA")
+ @ApiModelProperty(example = "MAN001", required = true, value = "Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.")
/**
- * Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.
Tamanho: 13
Formato: AAAAAAAAAAAAA
+ * Identificação da Manifestação
Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.
**/
private String identificacaoManifestacao = null;
- @XmlElement(name = "infoGeral", required = true)
- @ApiModelProperty(required = true, value = "")
+ @XmlElement(name = "tipoDocumentoTransporte", required = true)
+ @ApiModelProperty(example = "01", required = true, value = "Tipo de Documento de Transporte
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros")
+ /**
+ * Tipo de Documento de Transporte
Domínio
01 - MIC/DTA
02 - TIF/DTA
03 - DTAI
04 - Outros
+ **/
+ private String tipoDocumentoTransporte = null;
+
+ @XmlElement(name = "indCargaEnviadaDespacho", required = true)
+ @ApiModelProperty(example = "N", required = true, value = "Indicador Carga Enviada para Despacho
Domínio: S (Sim), N(Não)")
+ /**
+ * Indicador Carga Enviada para Despacho
Domínio: S (Sim), N(Não)
+ **/
+ private String indCargaEnviadaDespacho = null;
+
+ @XmlElement(name = "cargaJaEmbarcada", required = true)
+ @ApiModelProperty(example = "S", required = true, value = "Indicador Carga já Embarcada
Domínio: S (Sim), N(Não)")
+ /**
+ * Indicador Carga já Embarcada
Domínio: S (Sim), N(Não)
+ **/
+ private String cargaJaEmbarcada = null;
+
+ @XmlElement(name = "cnpjTransportador")
+ @ApiModelProperty(example = "15573459000106", value = "CNPJ do Transportadorr
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.")
+ /**
+ * CNPJ do Transportadorr
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.
+ **/
+ private String cnpjTransportador = null;
+
+ @XmlElement(name = "cpfTransportador")
+ @ApiModelProperty(example = "15573459106", value = "CPF do Transportadorr
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física.")
+ /**
+ * CPF do Transportadorr
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório apenas para transportador nacional do tipo pessoa física.
+ **/
+ private String cpfTransportador = null;
+
+ @XmlElement(name = "codigoURF")
+ @ApiModelProperty(example = "0717700", value = "Código da Unidade de Região FiscalF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informado um RA")
+ /**
+ * Código da Unidade de Região FiscalF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informado um RA
+ **/
+ private String codigoURF = null;
+
+ @XmlElement(name = "codigoRA")
+ @ApiModelProperty(example = "7911101", value = "Código do Recinto AduaneiroF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informada uma URF")
+ /**
+ * Código do Recinto AduaneiroF
Tamanho: 7
Formato: NNNNNNN
Obrigatório quando não foi informada uma URF
+ **/
+ private String codigoRA = null;
+
+ @XmlElement(name = "coordenadas")
+ @ApiModelProperty(value = "")
@Valid
- private InfoGeral infoGeral = null;
+ private Coordenadas coordenadas = null;
+
+ @XmlElement(name = "cnpjRespEstoqueCarga")
+ @ApiModelProperty(example = "15573459000106", value = "CNPJ do responsável pelo estoque da carga
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Obrigatório apenas para o manifesto de embarque de carga ainda não embarcada, quando foram informados URF + coordenadas e a carga não consta no estoque de um depositário.")
+ /**
+ * CNPJ do responsável pelo estoque da carga
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Obrigatório apenas para o manifesto de embarque de carga ainda não embarcada, quando foram informados URF + coordenadas e a carga não consta no estoque de um depositário.
+ **/
+ private String cnpjRespEstoqueCarga = null;
- @XmlElement(name = "veiculo", required = true)
- @ApiModelProperty(required = true, value = "")
+ @XmlElement(name = "veiculoAereo")
+ @ApiModelProperty(value = "")
@Valid
- private Veiculo veiculo = null;
+ private VeiculoAereo veiculoAereo = null;
- @XmlElement(name = "transportador", required = true)
- @ApiModelProperty(required = true, value = "")
+ @XmlElement(name = "veiculoAquaviario")
+ @ApiModelProperty(value = "")
@Valid
- private Transportador transportador = null;
+ private VeiculoAquaviario veiculoAquaviario = null;
- @XmlElement(name = "conhecimentos", required = true)
- @ApiModelProperty(required = true, value = "")
+ @XmlElement(name = "outroModal")
+ @ApiModelProperty(value = "")
@Valid
- private ConhecimentosCarga conhecimentos = null;
+ private OutroModal outroModal = null;
- @XmlElement(name = "carga", required = true)
- @ApiModelProperty(required = true, value = "")
+ @XmlElement(name = "conhecimento")
+ @ApiModelProperty(value = "Dados do conhecimento de carga
Informado e obrigatório apenas quando a manifestação dos dados de embarque for acobertada por conhecimento de carga.")
@Valid
- private Carga carga = null;
+ /**
+ * Dados do conhecimento de carga
Informado e obrigatório apenas quando a manifestação dos dados de embarque for acobertada por conhecimento de carga.
+ **/
+ private List
Tamanho: 250")
+ /**
+ * Observações
Tamanho: 250
+ **/
+ private String observacoes = null;
/**
- * Identificação da Manifestação<br>Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.<br>Tamanho: 13<br>Formato: AAAAAAAAAAAAA
+ * Identificação da Manifestação<br>Esta informação não será armazenada pelo sistema, servindo apenas como uma identificação de cada manifesto no momento da exibição de eventuais mensagens de erro. Este campo é uma chave dentro do arquivo XML, não admitindo duplicatas.
*
* @return identificacaoManifestacao
**/
@@ -82,120 +149,296 @@ public Manifestacao identificacaoManifestacao(String identificacaoManifestacao)
}
/**
- * Get infoGeral
+ * Tipo de Documento de Transporte<br>Domínio<br>01 - MIC/DTA<br>02 - TIF/DTA<br>03 - DTAI<br>04 - Outros
*
- * @return infoGeral
+ * @return tipoDocumentoTransporte
**/
- @JsonProperty("infoGeral")
+ @JsonProperty("tipoDocumentoTransporte")
@NotNull
- public InfoGeral getInfoGeral() {
- return infoGeral;
+ public String getTipoDocumentoTransporte() {
+ return tipoDocumentoTransporte;
}
- public void setInfoGeral(InfoGeral infoGeral) {
- this.infoGeral = infoGeral;
+ public void setTipoDocumentoTransporte(String tipoDocumentoTransporte) {
+ this.tipoDocumentoTransporte = tipoDocumentoTransporte;
}
- public Manifestacao infoGeral(InfoGeral infoGeral) {
- this.infoGeral = infoGeral;
+ public Manifestacao tipoDocumentoTransporte(String tipoDocumentoTransporte) {
+ this.tipoDocumentoTransporte = tipoDocumentoTransporte;
return this;
}
/**
- * Get veiculo
+ * Indicador Carga Enviada para Despacho<br>Domínio: S (Sim), N(Não)
*
- * @return veiculo
+ * @return indCargaEnviadaDespacho
**/
- @JsonProperty("veiculo")
+ @JsonProperty("indCargaEnviadaDespacho")
@NotNull
- public Veiculo getVeiculo() {
- return veiculo;
+ public String getIndCargaEnviadaDespacho() {
+ return indCargaEnviadaDespacho;
}
- public void setVeiculo(Veiculo veiculo) {
- this.veiculo = veiculo;
+ public void setIndCargaEnviadaDespacho(String indCargaEnviadaDespacho) {
+ this.indCargaEnviadaDespacho = indCargaEnviadaDespacho;
}
- public Manifestacao veiculo(Veiculo veiculo) {
- this.veiculo = veiculo;
+ public Manifestacao indCargaEnviadaDespacho(String indCargaEnviadaDespacho) {
+ this.indCargaEnviadaDespacho = indCargaEnviadaDespacho;
return this;
}
/**
- * Get transportador
+ * Indicador Carga já Embarcada<br>Domínio: S (Sim), N(Não)
*
- * @return transportador
+ * @return cargaJaEmbarcada
**/
- @JsonProperty("transportador")
+ @JsonProperty("cargaJaEmbarcada")
@NotNull
- public Transportador getTransportador() {
- return transportador;
+ public String getCargaJaEmbarcada() {
+ return cargaJaEmbarcada;
}
- public void setTransportador(Transportador transportador) {
- this.transportador = transportador;
+ public void setCargaJaEmbarcada(String cargaJaEmbarcada) {
+ this.cargaJaEmbarcada = cargaJaEmbarcada;
}
- public Manifestacao transportador(Transportador transportador) {
- this.transportador = transportador;
+ public Manifestacao cargaJaEmbarcada(String cargaJaEmbarcada) {
+ this.cargaJaEmbarcada = cargaJaEmbarcada;
return this;
}
/**
- * Get conhecimentos
+ * CNPJ do Transportadorr<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa jurídica.
*
- * @return conhecimentos
+ * @return cnpjTransportador
**/
- @JsonProperty("conhecimentos")
- @NotNull
- public ConhecimentosCarga getConhecimentos() {
- return conhecimentos;
+ @JsonProperty("cnpjTransportador")
+ public String getCnpjTransportador() {
+ return cnpjTransportador;
}
- public void setConhecimentos(ConhecimentosCarga conhecimentos) {
- this.conhecimentos = conhecimentos;
+ public void setCnpjTransportador(String cnpjTransportador) {
+ this.cnpjTransportador = cnpjTransportador;
}
- public Manifestacao conhecimentos(ConhecimentosCarga conhecimentos) {
- this.conhecimentos = conhecimentos;
+ public Manifestacao cnpjTransportador(String cnpjTransportador) {
+ this.cnpjTransportador = cnpjTransportador;
return this;
}
/**
- * Get carga
+ * CPF do Transportadorr<br>Tamanho: 11<br>Formato: NNNNNNNNNNN<br>Informado e obrigatório apenas para transportador nacional do tipo pessoa física.
*
- * @return carga
+ * @return cpfTransportador
**/
- @JsonProperty("carga")
- @NotNull
- public Carga getCarga() {
- return carga;
+ @JsonProperty("cpfTransportador")
+ public String getCpfTransportador() {
+ return cpfTransportador;
+ }
+
+ public void setCpfTransportador(String cpfTransportador) {
+ this.cpfTransportador = cpfTransportador;
+ }
+
+ public Manifestacao cpfTransportador(String cpfTransportador) {
+ this.cpfTransportador = cpfTransportador;
+ return this;
+ }
+
+ /**
+ * Código da Unidade de Região FiscalF<br>Tamanho: 7<br>Formato: NNNNNNN<br>Obrigatório quando não foi informado um RA
+ *
+ * @return codigoURF
+ **/
+ @JsonProperty("codigoURF")
+ public String getCodigoURF() {
+ return codigoURF;
+ }
+
+ public void setCodigoURF(String codigoURF) {
+ this.codigoURF = codigoURF;
+ }
+
+ public Manifestacao codigoURF(String codigoURF) {
+ this.codigoURF = codigoURF;
+ return this;
+ }
+
+ /**
+ * Código do Recinto AduaneiroF<br>Tamanho: 7<br>Formato: NNNNNNN<br>Obrigatório quando não foi informada uma URF
+ *
+ * @return codigoRA
+ **/
+ @JsonProperty("codigoRA")
+ public String getCodigoRA() {
+ return codigoRA;
+ }
+
+ public void setCodigoRA(String codigoRA) {
+ this.codigoRA = codigoRA;
+ }
+
+ public Manifestacao codigoRA(String codigoRA) {
+ this.codigoRA = codigoRA;
+ return this;
+ }
+
+ /**
+ * Get coordenadas
+ *
+ * @return coordenadas
+ **/
+ @JsonProperty("coordenadas")
+ public Coordenadas getCoordenadas() {
+ return coordenadas;
}
- public void setCarga(Carga carga) {
- this.carga = carga;
+ public void setCoordenadas(Coordenadas coordenadas) {
+ this.coordenadas = coordenadas;
}
- public Manifestacao carga(Carga carga) {
- this.carga = carga;
+ public Manifestacao coordenadas(Coordenadas coordenadas) {
+ this.coordenadas = coordenadas;
return this;
}
/**
- * Get rota
- * @return rota
+ * CNPJ do responsável pelo estoque da carga<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Obrigatório apenas para o manifesto de embarque de carga ainda não embarcada, quando foram informados URF + coordenadas e a carga não consta no estoque de um depositário.
+ *
+ * @return cnpjRespEstoqueCarga
**/
- @JsonProperty("rota")
- public Rota getRota() {
- return rota;
+ @JsonProperty("cnpjRespEstoqueCarga")
+ public String getCnpjRespEstoqueCarga() {
+ return cnpjRespEstoqueCarga;
+ }
+
+ public void setCnpjRespEstoqueCarga(String cnpjRespEstoqueCarga) {
+ this.cnpjRespEstoqueCarga = cnpjRespEstoqueCarga;
+ }
+
+ public Manifestacao cnpjRespEstoqueCarga(String cnpjRespEstoqueCarga) {
+ this.cnpjRespEstoqueCarga = cnpjRespEstoqueCarga;
+ return this;
+ }
+
+ /**
+ * Get veiculoAereo
+ *
+ * @return veiculoAereo
+ **/
+ @JsonProperty("veiculoAereo")
+ public VeiculoAereo getVeiculoAereo() {
+ return veiculoAereo;
+ }
+
+ public void setVeiculoAereo(VeiculoAereo veiculoAereo) {
+ this.veiculoAereo = veiculoAereo;
+ }
+
+ public Manifestacao veiculoAereo(VeiculoAereo veiculoAereo) {
+ this.veiculoAereo = veiculoAereo;
+ return this;
+ }
+
+ /**
+ * Get veiculoAquaviario
+ *
+ * @return veiculoAquaviario
+ **/
+ @JsonProperty("veiculoAquaviario")
+ public VeiculoAquaviario getVeiculoAquaviario() {
+ return veiculoAquaviario;
+ }
+
+ public void setVeiculoAquaviario(VeiculoAquaviario veiculoAquaviario) {
+ this.veiculoAquaviario = veiculoAquaviario;
+ }
+
+ public Manifestacao veiculoAquaviario(VeiculoAquaviario veiculoAquaviario) {
+ this.veiculoAquaviario = veiculoAquaviario;
+ return this;
+ }
+
+ /**
+ * Get outroModal
+ *
+ * @return outroModal
+ **/
+ @JsonProperty("outroModal")
+ public OutroModal getOutroModal() {
+ return outroModal;
+ }
+
+ public void setOutroModal(OutroModal outroModal) {
+ this.outroModal = outroModal;
+ }
+
+ public Manifestacao outroModal(OutroModal outroModal) {
+ this.outroModal = outroModal;
+ return this;
+ }
+
+ /**
+ * Dados do conhecimento de carga<br>Informado e obrigatório apenas quando a manifestação dos dados de embarque for acobertada por conhecimento de carga.
+ *
+ * @return conhecimento
+ **/
+ @JsonProperty("conhecimento")
+ public List
Tamanho: 44")
- /**
- * Chave de acesso da nota fiscal eletrônica
Tamanho: 44
- **/
- private String chaveAcesso = null;
-
- @XmlElement(name = "conteineres", required = true)
- @ApiModelProperty(required = true, value = "")
- @Valid
- private Conteineres conteineres = null;
-
- /**
- * Chave de acesso da nota fiscal eletrônica<br>Tamanho: 44
- *
- * @return chaveAcesso
- **/
- @JsonProperty("chaveAcesso")
- @NotNull
- public String getChaveAcesso() {
- return chaveAcesso;
- }
-
- public void setChaveAcesso(String chaveAcesso) {
- this.chaveAcesso = chaveAcesso;
- }
-
- public Nfe chaveAcesso(String chaveAcesso) {
- this.chaveAcesso = chaveAcesso;
- return this;
- }
-
- /**
- * Get conteineres
- *
- * @return conteineres
- **/
- @JsonProperty("conteineres")
- @NotNull
- public Conteineres getConteineres() {
- return conteineres;
- }
-
- public void setConteineres(Conteineres conteineres) {
- this.conteineres = conteineres;
- }
-
- public Nfe conteineres(Conteineres conteineres) {
- this.conteineres = conteineres;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class Nfe {\n" +
- " chaveAcesso: " + toIndentedString(chaveAcesso) + "\n" +
- " conteineres: " + toIndentedString(conteineres) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfes.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfes.java
deleted file mode 100644
index 3879db4..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/Nfes.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import java.util.ArrayList;
-import java.util.List;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "Nfes", propOrder =
- {"nfe"
- })
-
-@XmlRootElement(name = "Nfes")
-/**
- * Lista das notas fiscais eletrônicas
- **/
-@ApiModel(description = "Lista das notas fiscais eletrônicas")
-public class Nfes {
-
- @XmlElement(name = "nfe", required = true)
- @ApiModelProperty(required = true, value = "Lista das notas fiscais eletrônicas")
- @Valid
- /**
- * Lista das notas fiscais eletrônicas
- **/
- private List
Tamanho: 2
Formato: ((")
+ /**
+ * Código do tipo de modal
Tamanho: 2
Formato: ((
+ **/
+ private String codigoTipoModal = null;
+
+ @XmlElement(name="identificacaoVeiculo", required = true)
+ @ApiModelProperty(example = "BLT1230", required = true, value = "Identificacao Veículo
Tamanho: 15
Formato: AAAAAAAAAAAAAAA")
+ /**
+ * Identificacao Veículo
Tamanho: 15
Formato: AAAAAAAAAAAAAAA
+ **/
+ private String identificacaoVeiculo = null;
+
+ @XmlElement(name="numeroDocumentoTransporte", required = true)
+ @ApiModelProperty(example = "15573459", required = true, value = "Número do documento de transporte
Tamanho mínimo: 5
Tamanho máximo: 15")
+ /**
+ * Número do documento de transporte
Tamanho mínimo: 5
Tamanho máximo: 15
+ **/
+ private String numeroDocumentoTransporte = null;
+
+ @XmlElement(name="dataEmissaoDocumentoTransporte", required = true)
+ @ApiModelProperty(example = "2016-12-19", required = true, value = "Data de emissao do documento de transporte
Formato: AAAA-MM-DD")
+ /**
+ * Data de emissao do documento de transporte
Formato: AAAA-MM-DD
+ **/
+ private String dataEmissaoDocumentoTransporte = null;
+
+ @XmlElement(name="dadosDocumentoTransporte", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private DadosDocumentoTransporte dadosDocumentoTransporte = null;
+ /**
+ * Código do tipo de modal<br>Tamanho: 2<br>Formato: ((
+ * @return codigoTipoModal
+ **/
+ @JsonProperty("codigoTipoModal")
+ @NotNull
+ public String getCodigoTipoModal() {
+ return codigoTipoModal;
+ }
+
+ public void setCodigoTipoModal(String codigoTipoModal) {
+ this.codigoTipoModal = codigoTipoModal;
+ }
+
+ public OutroModal codigoTipoModal(String codigoTipoModal) {
+ this.codigoTipoModal = codigoTipoModal;
+ return this;
+ }
+
+ /**
+ * Identificacao Veículo<br>Tamanho: 15<br>Formato: AAAAAAAAAAAAAAA
+ * @return identificacaoVeiculo
+ **/
+ @JsonProperty("identificacaoVeiculo")
+ @NotNull
+ public String getIdentificacaoVeiculo() {
+ return identificacaoVeiculo;
+ }
+
+ public void setIdentificacaoVeiculo(String identificacaoVeiculo) {
+ this.identificacaoVeiculo = identificacaoVeiculo;
+ }
+
+ public OutroModal identificacaoVeiculo(String identificacaoVeiculo) {
+ this.identificacaoVeiculo = identificacaoVeiculo;
+ return this;
+ }
+
+ /**
+ * Número do documento de transporte<br>Tamanho mínimo: 5<br>Tamanho máximo: 15
+ * @return numeroDocumentoTransporte
+ **/
+ @JsonProperty("numeroDocumentoTransporte")
+ @NotNull
+ public String getNumeroDocumentoTransporte() {
+ return numeroDocumentoTransporte;
+ }
+
+ public void setNumeroDocumentoTransporte(String numeroDocumentoTransporte) {
+ this.numeroDocumentoTransporte = numeroDocumentoTransporte;
+ }
+
+ public OutroModal numeroDocumentoTransporte(String numeroDocumentoTransporte) {
+ this.numeroDocumentoTransporte = numeroDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Data de emissao do documento de transporte<br>Formato: AAAA-MM-DD
+ * @return dataEmissaoDocumentoTransporte
+ **/
+ @JsonProperty("dataEmissaoDocumentoTransporte")
+ @NotNull
+ public String getDataEmissaoDocumentoTransporte() {
+ return dataEmissaoDocumentoTransporte;
+ }
+
+ public void setDataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) {
+ this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte;
+ }
+
+ public OutroModal dataEmissaoDocumentoTransporte(String dataEmissaoDocumentoTransporte) {
+ this.dataEmissaoDocumentoTransporte = dataEmissaoDocumentoTransporte;
+ return this;
+ }
+
+ /**
+ * Get dadosDocumentoTransporte
+ * @return dadosDocumentoTransporte
+ **/
+ @JsonProperty("dadosDocumentoTransporte")
+ @NotNull
+ public DadosDocumentoTransporte getDadosDocumentoTransporte() {
+ return dadosDocumentoTransporte;
+ }
+
+ public void setDadosDocumentoTransporte(DadosDocumentoTransporte dadosDocumentoTransporte) {
+ this.dadosDocumentoTransporte = dadosDocumentoTransporte;
+ }
+
+ public OutroModal dadosDocumentoTransporte(DadosDocumentoTransporte dadosDocumentoTransporte) {
+ this.dadosDocumentoTransporte = dadosDocumentoTransporte;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class OutroModal {\n");
+
+ sb.append(" codigoTipoModal: ").append(toIndentedString(codigoTipoModal)).append("\n");
+ sb.append(" identificacaoVeiculo: ").append(toIndentedString(identificacaoVeiculo)).append("\n");
+ sb.append(" numeroDocumentoTransporte: ").append(toIndentedString(numeroDocumentoTransporte)).append("\n");
+ sb.append(" dataEmissaoDocumentoTransporte: ").append(toIndentedString(dataEmissaoDocumentoTransporte)).append("\n");
+ sb.append(" dadosDocumentoTransporte: ").append(toIndentedString(dadosDocumentoTransporte)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java
index 4decc6f..788f6ba 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RecepcaoDocumentoTransporte.java
@@ -65,7 +65,7 @@ public class RecepcaoDocumentoTransporte {
/**
* Dados dos documentos de transporte
**/
- private List
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CNPJ não foi informado.")
- /**
- * CPF do remetente
Tamanho: 11
Formato: NNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CNPJ não foi informado.
- **/
- private String numeroCpf = null;
-
- @XmlElement(name = "numeroCnpj")
- @ApiModelProperty(example = "12345678901234", value = "CNPJ do remetente
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CPF não foi informado.")
- /**
- * CNPJ do remetente
Tamanho: 14
Formato: NNNNNNNNNNNNNN
Informado e obrigatório para remetente brasileiro, e o CPF não foi informado.
- **/
- private String numeroCnpj = null;
-
- @XmlElement(name = "nome")
- @ApiModelProperty(example = "Nome do remetente estrangeiro", value = "Nome do remetente estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.")
- /**
- * Nome do remetente estrangeiro
Tamanho: 60
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.
- **/
- private String nome = null;
-
- @XmlElement(name = "endereco")
- @ApiModelProperty(example = "Endereço do remetente estrangeiro", value = "Endereço do remetente estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.")
- /**
- * Endereço do remetente estrangeiro
Tamanho: 120
Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.
- **/
- private String endereco = null;
-
- @XmlElement(name = "registroFiscal")
- @ApiModelProperty(value = "Registro Fiscal do Remetente")
- /**
- * Registro Fiscal do Remetente
- **/
- private String registroFiscal = null;
-
- /**
- * CPF do remetente<br>Tamanho: 11<br>Formato: NNNNNNNNNNN<br>Informado e obrigatório para remetente brasileiro, e o CNPJ não foi informado.
- *
- * @return numeroCpf
- **/
- @JsonProperty("numeroCpf")
- public String getNumeroCpf() {
- return numeroCpf;
- }
-
- public void setNumeroCpf(String numeroCpf) {
- this.numeroCpf = numeroCpf;
- }
-
- public Remetente numeroCpf(String numeroCpf) {
- this.numeroCpf = numeroCpf;
- return this;
- }
-
- /**
- * CNPJ do remetente<br>Tamanho: 14<br>Formato: NNNNNNNNNNNNNN<br>Informado e obrigatório para remetente brasileiro, e o CPF não foi informado.
- *
- * @return numeroCnpj
- **/
- @JsonProperty("numeroCnpj")
- public String getNumeroCnpj() {
- return numeroCnpj;
- }
-
- public void setNumeroCnpj(String numeroCnpj) {
- this.numeroCnpj = numeroCnpj;
- }
-
- public Remetente numeroCnpj(String numeroCnpj) {
- this.numeroCnpj = numeroCnpj;
- return this;
- }
-
- /**
- * Nome do remetente estrangeiro<br>Tamanho: 60<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao nome do remetente estrangeiro.
- *
- * @return nome
- **/
- @JsonProperty("nome")
- public String getNome() {
- return nome;
- }
-
- public void setNome(String nome) {
- this.nome = nome;
- }
-
- public Remetente nome(String nome) {
- this.nome = nome;
- return this;
- }
-
- /**
- * Endereço do remetente estrangeiro<br> Tamanho: 120<br>Informado e obrigatório para remetente estrangeiro. Este campo ser refere ao endereço do remetente estrangeiro.
- *
- * @return endereco
- **/
- @JsonProperty("endereco")
- public String getEndereco() {
- return endereco;
- }
-
- public void setEndereco(String endereco) {
- this.endereco = endereco;
- }
-
- public Remetente endereco(String endereco) {
- this.endereco = endereco;
- return this;
- }
-
- /**
- * Registro Fiscal do Remetente
- *
- * @return registroFiscal
- **/
- @JsonProperty("registroFiscal")
- public String getRegistroFiscal() {
- return registroFiscal;
- }
-
- public void setRegistroFiscal(String registroFiscal) {
- this.registroFiscal = registroFiscal;
- }
-
- public Remetente registroFiscal(String registroFiscal) {
- this.registroFiscal = registroFiscal;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class Remetente {\n" +
- " numeroCpf: " + toIndentedString(numeroCpf) + "\n" +
- " numeroCnpj: " + toIndentedString(numeroCnpj) + "\n" +
- " nome: " + toIndentedString(nome) + "\n" +
- " endereco: " + toIndentedString(endereco) + "\n" +
- " registroFiscal: " + toIndentedString(registroFiscal) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java
index 9a3591d..3c95b85 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/ResultadoConsultaConteiner.java
@@ -67,7 +67,7 @@ public class ResultadoConsultaConteiner {
@XmlElement(name = "documentosTransporte")
@ApiModelProperty(value = "")
@Valid
- private List
Tamanho mínimo: 5
Tamanho máximo: 15
**/
- private List
Tamanho: 3
Formato: NNN")
- @Valid
- /**
- * Prazo Aduana origem-destino horas.
Tamanho: 3
Formato: NNN
- **/
- private BigDecimal tempoPercurso = null;
-
- @XmlElement(name = "descricaoRota", required = true)
- @ApiModelProperty(example = "Teste Descrição", required = true, value = "Descrição da rota de trânsito internacional.
Tamanho: 500
Formato: AAA..AA")
- /**
- * Descrição da rota de trânsito internacional.
Tamanho: 500
Formato: AAA..AA
- **/
- private String descricaoRota = null;
-
- @XmlElement(name = "codigoCidadeEntrada", required = true)
- @ApiModelProperty(example = "30", required = true, value = "Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA")
- /**
- * Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA
- **/
- private String codigoCidadeEntrada = null;
-
- @XmlElement(name = "codigoAduanaEntrada", required = true)
- @ApiModelProperty(example = "222", required = true, value = "Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoAduanaEntrada = null;
-
- @XmlElement(name = "codigoLugarOperativoEntrada", required = true)
- @ApiModelProperty(example = "1234567", required = true, value = "Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoLugarOperativoEntrada = null;
-
- @XmlElement(name = "codigoCidadeDestino", required = true)
- @ApiModelProperty(example = "20", required = true, value = "Cidade de destino (UNLOCODE).
Tamanho: 5
Formato: AAAAA")
- /**
- * Cidade de destino (UNLOCODE).
Tamanho: 5
Formato: AAAAA
- **/
- private String codigoCidadeDestino = null;
-
- @XmlElement(name = "codigoAduanaDestino", required = true)
- @ApiModelProperty(example = "333", required = true, value = "Aduana de destino (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Aduana de destino (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoAduanaDestino = null;
-
- @XmlElement(name = "codigoLugarOperativoDestino", required = true)
- @ApiModelProperty(example = "1234567", required = true, value = "Lugar operativo de destino (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Lugar operativo de destino (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoLugarOperativoDestino = null;
-
- @XmlElement(name = "rotasPassagem")
- @ApiModelProperty(value = "")
- @Valid
- private RotasPassagem rotasPassagem = null;
-
- /**
- * Prazo Aduana origem-destino horas.<br>Tamanho: 3<br>Formato: NNN
- *
- * @return tempoPercurso
- **/
- @JsonProperty("tempoPercurso")
- @NotNull
- public BigDecimal getTempoPercurso() {
- return tempoPercurso;
- }
-
- public void setTempoPercurso(BigDecimal tempoPercurso) {
- this.tempoPercurso = tempoPercurso;
- }
-
- public Rota tempoPercurso(BigDecimal tempoPercurso) {
- this.tempoPercurso = tempoPercurso;
- return this;
- }
-
- /**
- * Descrição da rota de trânsito internacional.<br>Tamanho: 500<br>Formato: AAA..AA
- *
- * @return descricaoRota
- **/
- @JsonProperty("descricaoRota")
- @NotNull
- public String getDescricaoRota() {
- return descricaoRota;
- }
-
- public void setDescricaoRota(String descricaoRota) {
- this.descricaoRota = descricaoRota;
- }
-
- public Rota descricaoRota(String descricaoRota) {
- this.descricaoRota = descricaoRota;
- return this;
- }
-
- /**
- * Cidade de entrada (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA
- *
- * @return codigoCidadeEntrada
- **/
- @JsonProperty("codigoCidadeEntrada")
- @NotNull
- public String getCodigoCidadeEntrada() {
- return codigoCidadeEntrada;
- }
-
- public void setCodigoCidadeEntrada(String codigoCidadeEntrada) {
- this.codigoCidadeEntrada = codigoCidadeEntrada;
- }
-
- public Rota codigoCidadeEntrada(String codigoCidadeEntrada) {
- this.codigoCidadeEntrada = codigoCidadeEntrada;
- return this;
- }
-
- /**
- * Aduana de entrada (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoAduanaEntrada
- **/
- @JsonProperty("codigoAduanaEntrada")
- @NotNull
- public String getCodigoAduanaEntrada() {
- return codigoAduanaEntrada;
- }
-
- public void setCodigoAduanaEntrada(String codigoAduanaEntrada) {
- this.codigoAduanaEntrada = codigoAduanaEntrada;
- }
-
- public Rota codigoAduanaEntrada(String codigoAduanaEntrada) {
- this.codigoAduanaEntrada = codigoAduanaEntrada;
- return this;
- }
-
- /**
- * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoLugarOperativoEntrada
- **/
- @JsonProperty("codigoLugarOperativoEntrada")
- @NotNull
- public String getCodigoLugarOperativoEntrada() {
- return codigoLugarOperativoEntrada;
- }
-
- public void setCodigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) {
- this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada;
- }
-
- public Rota codigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) {
- this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada;
- return this;
- }
-
- /**
- * Cidade de destino (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA
- *
- * @return codigoCidadeDestino
- **/
- @JsonProperty("codigoCidadeDestino")
- @NotNull
- public String getCodigoCidadeDestino() {
- return codigoCidadeDestino;
- }
-
- public void setCodigoCidadeDestino(String codigoCidadeDestino) {
- this.codigoCidadeDestino = codigoCidadeDestino;
- }
-
- public Rota codigoCidadeDestino(String codigoCidadeDestino) {
- this.codigoCidadeDestino = codigoCidadeDestino;
- return this;
- }
-
- /**
- * Aduana de destino (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoAduanaDestino
- **/
- @JsonProperty("codigoAduanaDestino")
- @NotNull
- public String getCodigoAduanaDestino() {
- return codigoAduanaDestino;
- }
-
- public void setCodigoAduanaDestino(String codigoAduanaDestino) {
- this.codigoAduanaDestino = codigoAduanaDestino;
- }
-
- public Rota codigoAduanaDestino(String codigoAduanaDestino) {
- this.codigoAduanaDestino = codigoAduanaDestino;
- return this;
- }
-
- /**
- * Lugar operativo de destino (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoLugarOperativoDestino
- **/
- @JsonProperty("codigoLugarOperativoDestino")
- @NotNull
- public String getCodigoLugarOperativoDestino() {
- return codigoLugarOperativoDestino;
- }
-
- public void setCodigoLugarOperativoDestino(String codigoLugarOperativoDestino) {
- this.codigoLugarOperativoDestino = codigoLugarOperativoDestino;
- }
-
- public Rota codigoLugarOperativoDestino(String codigoLugarOperativoDestino) {
- this.codigoLugarOperativoDestino = codigoLugarOperativoDestino;
- return this;
- }
-
- /**
- * Get rotasPassagem
- * @return rotasPassagem
- **/
- @JsonProperty("rotasPassagem")
- public RotasPassagem getRotasPassagem() {
- return rotasPassagem;
- }
-
- public void setRotasPassagem(RotasPassagem rotasPassagem) {
- this.rotasPassagem = rotasPassagem;
- }
-
- public Rota rotasPassagem(RotasPassagem rotasPassagem) {
- this.rotasPassagem = rotasPassagem;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class Rota {\n" +
- " tempoPercurso: " + toIndentedString(tempoPercurso) + "\n" +
- " descricaoRota: " + toIndentedString(descricaoRota) + "\n" +
- " codigoCidadeEntrada: " + toIndentedString(codigoCidadeEntrada) + "\n" +
- " codigoAduanaEntrada: " + toIndentedString(codigoAduanaEntrada) + "\n" +
- " codigoLugarOperativoEntrada: " + toIndentedString(codigoLugarOperativoEntrada) + "\n" +
- " codigoCidadeDestino: " + toIndentedString(codigoCidadeDestino) + "\n" +
- " codigoAduanaDestino: " + toIndentedString(codigoAduanaDestino) + "\n" +
- " codigoLugarOperativoDestino: " + toIndentedString(codigoLugarOperativoDestino) + "\n" +
- " rotasPassagem: " + toIndentedString(rotasPassagem) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotaPassagem.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotaPassagem.java
deleted file mode 100644
index 57b36d5..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotaPassagem.java
+++ /dev/null
@@ -1,264 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.Valid;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import java.math.BigDecimal;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RotaPassagem", propOrder =
- {"codigoPais", "codigoCidadeEntrada", "codigoAduanaEntrada", "codigoLugarOperativoEntrada", "codigoCidadeSaida", "codigoAduanaSaida", "codigoLugarOperativoSaida", "ordemPrecedencia"
- })
-
-@XmlRootElement(name = "RotaPassagem")
-/**
- * Rotas de Passagem
- **/
-@ApiModel(description = "Rotas de Passagem")
-public class RotaPassagem {
-
- @XmlElement(name = "codigoPais")
- @ApiModelProperty(example = "BR", value = "País de passagem.
Tamanho: 2
Formato: AA")
- /**
- * País de passagem.
Tamanho: 2
Formato: AA
- **/
- private String codigoPais = null;
-
- @XmlElement(name = "codigoCidadeEntrada")
- @ApiModelProperty(example = "30", value = "Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA")
- /**
- * Cidade de entrada (UNLOCODE).
Tamanho: 5
Formato: AAAAA
- **/
- private String codigoCidadeEntrada = null;
-
- @XmlElement(name = "codigoAduanaEntrada")
- @ApiModelProperty(example = "555", value = "Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Aduana de entrada (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoAduanaEntrada = null;
-
- @XmlElement(name = "codigoLugarOperativoEntrada")
- @ApiModelProperty(example = "1234567", value = "Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoLugarOperativoEntrada = null;
-
- @XmlElement(name = "codigoCidadeSaida")
- @ApiModelProperty(example = "10", value = "Cidade de saída (UNLOCODE).
Tamanho: 5
Formato: AAAAA")
- /**
- * Cidade de saída (UNLOCODE).
Tamanho: 5
Formato: AAAAA
- **/
- private String codigoCidadeSaida = null;
-
- @XmlElement(name = "codigoAduanaSaida")
- @ApiModelProperty(example = "444", value = "Aduana de saída (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Aduana de saída (ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoAduanaSaida = null;
-
- @XmlElement(name = "codigoLugarOperativoSaida")
- @ApiModelProperty(example = "1234567", value = "Lugar operativo de saída (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA")
- /**
- * Lugar operativo de saída (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).
Tamanho: 9
Formato: AAAAAAAAA
- **/
- private String codigoLugarOperativoSaida = null;
-
- @XmlElement(name = "ordemPrecedencia")
- @ApiModelProperty(example = "1.0", value = "Ordem de precedência.
Tamanho: 1
Formato: N")
- @Valid
- /**
- * Ordem de precedência.
Tamanho: 1
Formato: N
- **/
- private BigDecimal ordemPrecedencia = null;
-
- /**
- * País de passagem.<br>Tamanho: 2<br>Formato: AA
- *
- * @return codigoPais
- **/
- @JsonProperty("codigoPais")
- public String getCodigoPais() {
- return codigoPais;
- }
-
- public void setCodigoPais(String codigoPais) {
- this.codigoPais = codigoPais;
- }
-
- public RotaPassagem codigoPais(String codigoPais) {
- this.codigoPais = codigoPais;
- return this;
- }
-
- /**
- * Cidade de entrada (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA
- *
- * @return codigoCidadeEntrada
- **/
- @JsonProperty("codigoCidadeEntrada")
- public String getCodigoCidadeEntrada() {
- return codigoCidadeEntrada;
- }
-
- public void setCodigoCidadeEntrada(String codigoCidadeEntrada) {
- this.codigoCidadeEntrada = codigoCidadeEntrada;
- }
-
- public RotaPassagem codigoCidadeEntrada(String codigoCidadeEntrada) {
- this.codigoCidadeEntrada = codigoCidadeEntrada;
- return this;
- }
-
- /**
- * Aduana de entrada (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoAduanaEntrada
- **/
- @JsonProperty("codigoAduanaEntrada")
- public String getCodigoAduanaEntrada() {
- return codigoAduanaEntrada;
- }
-
- public void setCodigoAduanaEntrada(String codigoAduanaEntrada) {
- this.codigoAduanaEntrada = codigoAduanaEntrada;
- }
-
- public RotaPassagem codigoAduanaEntrada(String codigoAduanaEntrada) {
- this.codigoAduanaEntrada = codigoAduanaEntrada;
- return this;
- }
-
- /**
- * Lugar operativo de entrada (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoLugarOperativoEntrada
- **/
- @JsonProperty("codigoLugarOperativoEntrada")
- public String getCodigoLugarOperativoEntrada() {
- return codigoLugarOperativoEntrada;
- }
-
- public void setCodigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) {
- this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada;
- }
-
- public RotaPassagem codigoLugarOperativoEntrada(String codigoLugarOperativoEntrada) {
- this.codigoLugarOperativoEntrada = codigoLugarOperativoEntrada;
- return this;
- }
-
- /**
- * Cidade de saída (UNLOCODE).<br>Tamanho: 5<br>Formato: AAAAA
- *
- * @return codigoCidadeSaida
- **/
- @JsonProperty("codigoCidadeSaida")
- public String getCodigoCidadeSaida() {
- return codigoCidadeSaida;
- }
-
- public void setCodigoCidadeSaida(String codigoCidadeSaida) {
- this.codigoCidadeSaida = codigoCidadeSaida;
- }
-
- public RotaPassagem codigoCidadeSaida(String codigoCidadeSaida) {
- this.codigoCidadeSaida = codigoCidadeSaida;
- return this;
- }
-
- /**
- * Aduana de saída (ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoAduanaSaida
- **/
- @JsonProperty("codigoAduanaSaida")
- public String getCodigoAduanaSaida() {
- return codigoAduanaSaida;
- }
-
- public void setCodigoAduanaSaida(String codigoAduanaSaida) {
- this.codigoAduanaSaida = codigoAduanaSaida;
- }
-
- public RotaPassagem codigoAduanaSaida(String codigoAduanaSaida) {
- this.codigoAduanaSaida = codigoAduanaSaida;
- return this;
- }
-
- /**
- * Lugar operativo de saída (LUGAR OPERATIVOS ADUANAS ESTRANGEIRAS).<br>Tamanho: 9<br>Formato: AAAAAAAAA
- *
- * @return codigoLugarOperativoSaida
- **/
- @JsonProperty("codigoLugarOperativoSaida")
- public String getCodigoLugarOperativoSaida() {
- return codigoLugarOperativoSaida;
- }
-
- public void setCodigoLugarOperativoSaida(String codigoLugarOperativoSaida) {
- this.codigoLugarOperativoSaida = codigoLugarOperativoSaida;
- }
-
- public RotaPassagem codigoLugarOperativoSaida(String codigoLugarOperativoSaida) {
- this.codigoLugarOperativoSaida = codigoLugarOperativoSaida;
- return this;
- }
-
- /**
- * Ordem de precedência.<br>Tamanho: 1<br>Formato: N
- *
- * @return ordemPrecedencia
- **/
- @JsonProperty("ordemPrecedencia")
- public BigDecimal getOrdemPrecedencia() {
- return ordemPrecedencia;
- }
-
- public void setOrdemPrecedencia(BigDecimal ordemPrecedencia) {
- this.ordemPrecedencia = ordemPrecedencia;
- }
-
- public RotaPassagem ordemPrecedencia(BigDecimal ordemPrecedencia) {
- this.ordemPrecedencia = ordemPrecedencia;
- return this;
- }
-
-
- @Override
- public String toString() {
-
- String sb = "class RotaPassagem {\n" +
- " codigoPais: " + toIndentedString(codigoPais) + "\n" +
- " codigoCidadeEntrada: " + toIndentedString(codigoCidadeEntrada) + "\n" +
- " codigoAduanaEntrada: " + toIndentedString(codigoAduanaEntrada) + "\n" +
- " codigoLugarOperativoEntrada: " + toIndentedString(codigoLugarOperativoEntrada) + "\n" +
- " codigoCidadeSaida: " + toIndentedString(codigoCidadeSaida) + "\n" +
- " codigoAduanaSaida: " + toIndentedString(codigoAduanaSaida) + "\n" +
- " codigoLugarOperativoSaida: " + toIndentedString(codigoLugarOperativoSaida) + "\n" +
- " ordemPrecedencia: " + toIndentedString(ordemPrecedencia) + "\n" +
- "}";
- return sb;
- }
-
- /**
- * Convert the given object to string with each line indented by 4 spaces
- * (except the first line).
- */
- private static String toIndentedString(java.lang.Object o) {
- if (o == null) {
- return "null";
- }
- return o.toString().replace("\n", "\n ");
- }
-}
-
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotasPassagem.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotasPassagem.java
deleted file mode 100644
index ab2cc8e..0000000
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/RotasPassagem.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package br.gov.siscomex.portalunico.cct_ext.model;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
-
-import javax.validation.Valid;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlType;
-import java.util.List;
-
-@XmlAccessorType(XmlAccessType.FIELD)
-@XmlType(name = "RotasPassagem", propOrder =
- {"rotaPassagem"
- })
-
-@XmlRootElement(name = "RotasPassagem")
-/**
- * Rotas de Passagem
- **/
-@ApiModel(description = "Rotas de Passagem")
-public class RotasPassagem {
-
- @XmlElement(name = "rotaPassagem")
- @ApiModelProperty(value = "Rotas de Passagem")
- @Valid
- /**
- * Rotas de Passagem
- **/
- private List
Tamanho: 15")
+ @XmlElement(name = "chassi", required = true)
+ @ApiModelProperty(example = "9BWZZZ377VT004251 ", required = true, value = "Chassi do veículo
Tamanho: 20")
/**
- * Placa do veículo
Tamanho: 15
+ * Chassi do veículo
Tamanho: 20
**/
- private String placa = null;
+ private String chassi = null;
- @XmlElement(name = "lacres")
- @ApiModelProperty(example = "[12345,54321]", value = "Lista com os códigos dos lacres vinculados ao veículo
Tamanho de cada lacre: 15")
/**
- * Lista com os códigos dos lacres vinculados ao veículo
Tamanho de cada lacre: 15
- **/
- private List
Tamanho: 2
Formato: NN")
+ /**
+ * Codigo do tipo de modal
Tamanho: 2
Formato: NN
+ **/
+ private String codigoTipoModal = null;
+
+ @XmlElement(name="prefixoAeronave", required = true)
+ @ApiModelProperty(example = "LMF1203", required = true, value = "Prefixo aeronave
Tamanho: 15
Formato: AAAAAAAAAAAAAAA")
+ /**
+ * Prefixo aeronave
Tamanho: 15
Formato: AAAAAAAAAAAAAAA
+ **/
+ private String prefixoAeronave = null;
+
+ @XmlElement(name="numeroVoo", required = true)
+ @ApiModelProperty(example = "70544", required = true, value = "Número do vôo
Tamanho: 9
Formato: AAAAAAAAA")
+ /**
+ * Número do vôo
Tamanho: 9
Formato: AAAAAAAAA
+ **/
+ private String numeroVoo = null;
+
+ @XmlElement(name="dataPartidaProcedencia", required = true)
+ @ApiModelProperty(example = "2016-12-18", required = true, value = "Data de partida da procedencia
Formato: AAAA-MM-DD")
+ /**
+ * Data de partida da procedencia
Formato: AAAA-MM-DD
+ **/
+ private String dataPartidaProcedencia = null;
+ /**
+ * Codigo do tipo de modal<br>Tamanho: 2<br>Formato: NN
+ * @return codigoTipoModal
+ **/
+ @JsonProperty("codigoTipoModal")
+ @NotNull
+ public String getCodigoTipoModal() {
+ return codigoTipoModal;
+ }
+
+ public void setCodigoTipoModal(String codigoTipoModal) {
+ this.codigoTipoModal = codigoTipoModal;
+ }
+
+ public VeiculoAereo codigoTipoModal(String codigoTipoModal) {
+ this.codigoTipoModal = codigoTipoModal;
+ return this;
+ }
+
+ /**
+ * Prefixo aeronave<br>Tamanho: 15<br>Formato: AAAAAAAAAAAAAAA
+ * @return prefixoAeronave
+ **/
+ @JsonProperty("prefixoAeronave")
+ @NotNull
+ public String getPrefixoAeronave() {
+ return prefixoAeronave;
+ }
+
+ public void setPrefixoAeronave(String prefixoAeronave) {
+ this.prefixoAeronave = prefixoAeronave;
+ }
+
+ public VeiculoAereo prefixoAeronave(String prefixoAeronave) {
+ this.prefixoAeronave = prefixoAeronave;
+ return this;
+ }
+
+ /**
+ * Número do vôo<br>Tamanho: 9<br>Formato: AAAAAAAAA
+ * @return numeroVoo
+ **/
+ @JsonProperty("numeroVoo")
+ @NotNull
+ public String getNumeroVoo() {
+ return numeroVoo;
+ }
+
+ public void setNumeroVoo(String numeroVoo) {
+ this.numeroVoo = numeroVoo;
+ }
+
+ public VeiculoAereo numeroVoo(String numeroVoo) {
+ this.numeroVoo = numeroVoo;
+ return this;
+ }
+
+ /**
+ * Data de partida da procedencia<br>Formato: AAAA-MM-DD
+ * @return dataPartidaProcedencia
+ **/
+ @JsonProperty("dataPartidaProcedencia")
+ @NotNull
+ public String getDataPartidaProcedencia() {
+ return dataPartidaProcedencia;
+ }
+
+ public void setDataPartidaProcedencia(String dataPartidaProcedencia) {
+ this.dataPartidaProcedencia = dataPartidaProcedencia;
+ }
+
+ public VeiculoAereo dataPartidaProcedencia(String dataPartidaProcedencia) {
+ this.dataPartidaProcedencia = dataPartidaProcedencia;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class VeiculoAereo {\n");
+
+ sb.append(" codigoTipoModal: ").append(toIndentedString(codigoTipoModal)).append("\n");
+ sb.append(" prefixoAeronave: ").append(toIndentedString(prefixoAeronave)).append("\n");
+ sb.append(" numeroVoo: ").append(toIndentedString(numeroVoo)).append("\n");
+ sb.append(" dataPartidaProcedencia: ").append(toIndentedString(dataPartidaProcedencia)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAquaviario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAquaviario.java
new file mode 100644
index 0000000..ce88e0a
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoAquaviario.java
@@ -0,0 +1,154 @@
+package br.gov.siscomex.portalunico.cct_ext.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "VeiculoAquaviario", propOrder =
+ { "codigoTipoModal", "codigoIMO", "numeroEscala", "dataEncerramentoManifesto"
+})
+
+@XmlRootElement(name="VeiculoAquaviario")
+/**
+ * Dados do veículo aquaviário
+ **/
+@ApiModel(description="Dados do veículo aquaviário")
+public class VeiculoAquaviario {
+
+ @XmlElement(name="codigoTipoModal", required = true)
+ @ApiModelProperty(example = "03", required = true, value = "Código do tipo do modal
Tamanho: 2
Formato: ((")
+ /**
+ * Código do tipo do modal
Tamanho: 2
Formato: ((
+ **/
+ private String codigoTipoModal = null;
+
+ @XmlElement(name="codigoIMO", required = true)
+ @ApiModelProperty(example = "1557345", required = true, value = "Código IMO da embarcação
Tamanho: 15
Formato: AAAAAAAAAAAAAAA")
+ /**
+ * Código IMO da embarcação
Tamanho: 15
Formato: AAAAAAAAAAAAAAA
+ **/
+ private String codigoIMO = null;
+
+ @XmlElement(name="numeroEscala", required = true)
+ @ApiModelProperty(example = "19123456", required = true, value = "Número da escala
Tamanho: 11
Formato: AAAAAAAAAAA")
+ /**
+ * Número da escala
Tamanho: 11
Formato: AAAAAAAAAAA
+ **/
+ private String numeroEscala = null;
+
+ @XmlElement(name="dataEncerramentoManifesto", required = true)
+ @ApiModelProperty(example = "2016-12-18", required = true, value = "Data de encerramento do manifesto
Formato: AAAA-MM-DD")
+ /**
+ * Data de encerramento do manifesto
Formato: AAAA-MM-DD
+ **/
+ private String dataEncerramentoManifesto = null;
+ /**
+ * Código do tipo do modal<br>Tamanho: 2<br>Formato: ((
+ * @return codigoTipoModal
+ **/
+ @JsonProperty("codigoTipoModal")
+ @NotNull
+ public String getCodigoTipoModal() {
+ return codigoTipoModal;
+ }
+
+ public void setCodigoTipoModal(String codigoTipoModal) {
+ this.codigoTipoModal = codigoTipoModal;
+ }
+
+ public VeiculoAquaviario codigoTipoModal(String codigoTipoModal) {
+ this.codigoTipoModal = codigoTipoModal;
+ return this;
+ }
+
+ /**
+ * Código IMO da embarcação<br>Tamanho: 15<br>Formato: AAAAAAAAAAAAAAA
+ * @return codigoIMO
+ **/
+ @JsonProperty("codigoIMO")
+ @NotNull
+ public String getCodigoIMO() {
+ return codigoIMO;
+ }
+
+ public void setCodigoIMO(String codigoIMO) {
+ this.codigoIMO = codigoIMO;
+ }
+
+ public VeiculoAquaviario codigoIMO(String codigoIMO) {
+ this.codigoIMO = codigoIMO;
+ return this;
+ }
+
+ /**
+ * Número da escala<br>Tamanho: 11<br>Formato: AAAAAAAAAAA
+ * @return numeroEscala
+ **/
+ @JsonProperty("numeroEscala")
+ @NotNull
+ public String getNumeroEscala() {
+ return numeroEscala;
+ }
+
+ public void setNumeroEscala(String numeroEscala) {
+ this.numeroEscala = numeroEscala;
+ }
+
+ public VeiculoAquaviario numeroEscala(String numeroEscala) {
+ this.numeroEscala = numeroEscala;
+ return this;
+ }
+
+ /**
+ * Data de encerramento do manifesto<br>Formato: AAAA-MM-DD
+ * @return dataEncerramentoManifesto
+ **/
+ @JsonProperty("dataEncerramentoManifesto")
+ @NotNull
+ public String getDataEncerramentoManifesto() {
+ return dataEncerramentoManifesto;
+ }
+
+ public void setDataEncerramentoManifesto(String dataEncerramentoManifesto) {
+ this.dataEncerramentoManifesto = dataEncerramentoManifesto;
+ }
+
+ public VeiculoAquaviario dataEncerramentoManifesto(String dataEncerramentoManifesto) {
+ this.dataEncerramentoManifesto = dataEncerramentoManifesto;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("class VeiculoAquaviario {\n");
+
+ sb.append(" codigoTipoModal: ").append(toIndentedString(codigoTipoModal)).append("\n");
+ sb.append(" codigoIMO: ").append(toIndentedString(codigoIMO)).append("\n");
+ sb.append(" numeroEscala: ").append(toIndentedString(numeroEscala)).append("\n");
+ sb.append(" dataEncerramentoManifesto: ").append(toIndentedString(dataEncerramentoManifesto)).append("\n");
+ sb.append("}");
+ return sb.toString();
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java
index cf49538..0e636fe 100644
--- a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoFerroviario.java
@@ -18,27 +18,27 @@
@XmlRootElement(name = "VeiculoFerroviario")
/**
- * Dados do veículo ferroviário
+ * Informações sobre o veículo Ferroviário
**/
-@ApiModel(description = "Dados do veículo ferroviário")
+@ApiModel(description = "Informações sobre o veículo Ferroviário")
public class VeiculoFerroviario {
@XmlElement(name = "prefixoTrem", required = true)
- @ApiModelProperty(example = "trem001", required = true, value = "Identificação do trem
Tamanho: 15")
+ @ApiModelProperty(example = "TR123", required = true, value = "Prefixo do Trem")
/**
- * Identificação do trem
Tamanho: 15
+ * Prefixo do Trem
**/
private String prefixoTrem = null;
@XmlElement(name = "quantidadeVagoes", required = true)
- @ApiModelProperty(example = "10", required = true, value = "Número de vagões envolvidos no transporte
Tamanho: 3")
+ @ApiModelProperty(example = "10", required = true, value = "Quantidade de Vagões")
/**
- * Número de vagões envolvidos no transporte
Tamanho: 3
+ * Quantidade de Vagões
**/
private Integer quantidadeVagoes = null;
/**
- * Identificação do trem<br>Tamanho: 15
+ * Prefixo do Trem
*
* @return prefixoTrem
**/
@@ -58,7 +58,7 @@ public VeiculoFerroviario prefixoTrem(String prefixoTrem) {
}
/**
- * Número de vagões envolvidos no transporte<br>Tamanho: 3
+ * Quantidade de Vagões
*
* @return quantidadeVagoes
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoRodovario.java b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoRodovario.java
new file mode 100644
index 0000000..007bf33
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/cct_ext/model/VeiculoRodovario.java
@@ -0,0 +1,181 @@
+package br.gov.siscomex.portalunico.cct_ext.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+ @XmlType(name = "VeiculoRodovario", propOrder =
+ { "indTtransportadorProprietario", "cpjCnpjResponsavel", "nomeResponsavel", "veiculo", "reboques"
+})
+
+@XmlRootElement(name="VeiculoRodovario")
+/**
+ * Informações sobre o veículo Rodoviário
+ **/
+@ApiModel(description="Informações sobre o veículo Rodoviário")
+public class VeiculoRodovario {
+
+ @XmlElement(name="indTtransportadorProprietario")
+ @ApiModelProperty(example = "N", value = "Indicador para transportador proprietário do veículo")
+ /**
+ * Indicador para transportador proprietário do veículo
+ **/
+ private String indTtransportadorProprietario = null;
+
+ @XmlElement(name="cpjCnpjResponsavel")
+ @ApiModelProperty(example = "9999999999", value = "CPF ou CNPJ do responsável pelo veículo
Tamanho: 11
Formato: NNNNNNNNNNN")
+ /**
+ * CPF ou CNPJ do responsável pelo veículo
Tamanho: 11
Formato: NNNNNNNNNNN
+ **/
+ private String cpjCnpjResponsavel = null;
+
+ @XmlElement(name="nomeResponsavel")
+ @ApiModelProperty(example = "Nome do responsável pelo veículo", value = "Nome do responsável pelo veículo")
+ /**
+ * Nome do responsável pelo veículo
+ **/
+ private String nomeResponsavel = null;
+
+ @XmlElement(name="veiculo")
+ @ApiModelProperty(value = "")
+ @Valid
+ private Veiculo veiculo = null;
+
+ @XmlElement(name="reboques")
+ @ApiModelProperty(value = "informações sobre os reboques")
+ @Valid
+ /**
+ * informações sobre os reboques
+ **/
+ private ListIntrodução
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br Introdução
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br Introdução
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br Introdução
Sistema desenvolvido para simplificar o controle de carga no processo de Importação, dando uma única solução e um único fluxo para qualquer tipo de carga do modal aquaviário de transporte. Facilita a organização e realização da recepção, entrega, desunitização.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
")
+ @ApiModelProperty(example = "20", value = "Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
")
/**
- * Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
+ * Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
**/
private TipoEnum tipo = null;
@@ -312,7 +312,7 @@ public DocumentoSaidaConsultaDetalhada situacaoDuimp(String situacaoDuimp) {
}
/**
- * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Importação comum<br/>31 – DTA - Importação especial - bagagem desacompanhada<br/>32 – DTA - Importação especial - mala diplomática<br/>33 – DTA - Importação especial - urna funerária<br/>34 – DTA - Importação especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem comum - bagagem desacompanhada<br/>37 – DTA - Passagem comum - mala diplomática<br/>38 – DTA - Passagem comum - partes e peças<br/>39 – DTA - Passagem comum - urna funerária<br/>40 – DTA - Passagem comum - outras<br/>50 – DTI<br/>99 – DUIMP<br/>
+ * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Entrada comum<br/>31 – DTA - Entrada especial - bagagem desacompanhada<br/>32 – DTA - Entrada especial - mala diplomática<br/>33 – DTA - Entrada especial - urna funerária<br/>34 – DTA - Entrada especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem especial - bagagem desacompanhada<br/>37 – DTA - Passagem especial - mala diplomática<br/>38 – DTA - Passagem especial - partes e peças<br/>39 – DTA - Passagem especial - urna funerária<br/>40 – DTA - Passagem especial - outras<br/>50 – DTI<br/>99 – DUIMP<br/>
*
* @return tipo
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java
index 2b18be2..d620a37 100644
--- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java
+++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EntregaIntermediaria.java
@@ -288,9 +288,9 @@ public static TipoDTAEnum fromValue(String v) {
}
@XmlElement(name = "tipoDTA")
- @ApiModelProperty(example = "30", value = "Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.Para os demais motivos não deve ser informado.
30 - Importacao comum
31 - Importacao especial - bagagem desacompanhada
32 - Importacao especial - mala diplomática
33 - Importacao especial - urna funerária
34 - Importacao especial - outras
35 - Passagem comum
36 - Passagem comum - bagagem desacompanhada
37 - Passagem comum - mala diplomática
38 - Passagem comum - partes e peças
39 - Passagem comum - urna funerária
40 - Passagem comum - outras
")
+ @ApiModelProperty(example = "30", value = "Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.Para os demais motivos não deve ser informado.
30 - Entrada comum
31 - Entrada especial - bagagem desacompanhada
32 - Entrada especial - mala diplomática
33 - Entrada especial - urna funerária
34 - Entrada especial - outras
35 - Passagem comum
36 - Passagem especial - bagagem desacompanhada
37 - Passagem especial - mala diplomática
38 - Passagem especial - partes e peças
39 - Passagem especial - urna funerária
40 - Passagem especial - outras
")
/**
- * Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.Para os demais motivos não deve ser informado.
30 - Importacao comum
31 - Importacao especial - bagagem desacompanhada
32 - Importacao especial - mala diplomática
33 - Importacao especial - urna funerária
34 - Importacao especial - outras
35 - Passagem comum
36 - Passagem comum - bagagem desacompanhada
37 - Passagem comum - mala diplomática
38 - Passagem comum - partes e peças
39 - Passagem comum - urna funerária
40 - Passagem comum - outras
+ * Tipos de DTA.
Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.Para os demais motivos não deve ser informado.
30 - Entrada comum
31 - Entrada especial - bagagem desacompanhada
32 - Entrada especial - mala diplomática
33 - Entrada especial - urna funerária
34 - Entrada especial - outras
35 - Passagem comum
36 - Passagem especial - bagagem desacompanhada
37 - Passagem especial - mala diplomática
38 - Passagem especial - partes e peças
39 - Passagem especial - urna funerária
40 - Passagem especial - outras
**/
private TipoDTAEnum tipoDTA = null;
@@ -620,7 +620,7 @@ public EntregaIntermediaria tipoCarga(TipoCargaEnum tipoCarga) {
}
/**
- * Tipos de DTA.<br/>Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.</br>Para os demais motivos não deve ser informado.<br/><br/>30 - Importacao comum<br/>31 - Importacao especial - bagagem desacompanhada<br/>32 - Importacao especial - mala diplomática<br/>33 - Importacao especial - urna funerária<br/>34 - Importacao especial - outras<br/>35 - Passagem comum<br/>36 - Passagem comum - bagagem desacompanhada<br/>37 - Passagem comum - mala diplomática<br/>38 - Passagem comum - partes e peças<br/>39 - Passagem comum - urna funerária<br/>40 - Passagem comum - outras<br/>
+ * Tipos de DTA.<br/>Este campo é obrigatório na entrega intermediária entre depositário e transportador terrestre e opcional para as demais entregas intermediárias que escolham os motivos TRANSITO_INTERNACIONAL ou TRANSITO_NACIONAL.</br>Para os demais motivos não deve ser informado.<br/><br/>30 - Entrada comum<br/>31 - Entrada especial - bagagem desacompanhada<br/>32 - Entrada especial - mala diplomática<br/>33 - Entrada especial - urna funerária<br/>34 - Entrada especial - outras<br/>35 - Passagem comum<br/>36 - Passagem especial - bagagem desacompanhada<br/>37 - Passagem especial - mala diplomática<br/>38 - Passagem especial - partes e peças<br/>39 - Passagem especial - urna funerária<br/>40 - Passagem especial - outras<br/>
*
* @return tipoDTA
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java
index e5a144f..7867071 100644
--- a/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java
+++ b/src/main/java/br/gov/siscomex/portalunico/ccta/model/EstoqueConsultaDetalhada.java
@@ -195,9 +195,9 @@ public static TipoDocumentoSaidaEnum fromValue(String v) {
}
@XmlElement(name = "tipoDocumentoSaida")
- @ApiModelProperty(example = "20", value = "Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
")
+ @ApiModelProperty(example = "20", value = "Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
")
/**
- * Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Importação comum
31 – DTA - Importação especial - bagagem desacompanhada
32 – DTA - Importação especial - mala diplomática
33 – DTA - Importação especial - urna funerária
34 – DTA - Importação especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem comum - bagagem desacompanhada
37 – DTA - Passagem comum - mala diplomática
38 – DTA - Passagem comum - partes e peças
39 – DTA - Passagem comum - urna funerária
40 – DTA - Passagem comum - outras
50 – DTI
99 – DUIMP
+ * Tipo de documento de saída
11 – Processo Digital/Processo Dossiê
12 – E-DMOV
20 – Outros
21 – PMB
22 – PDE/TR
23 – DSI Eletrônica
24 – DSI Formulário
30 – DTA - Entrada comum
31 – DTA - Entrada especial - bagagem desacompanhada
32 – DTA - Entrada especial - mala diplomática
33 – DTA - Entrada especial - urna funerária
34 – DTA - Entrada especial - outras
35 – DTA - Passagem comum
36 – DTA - Passagem especial - bagagem desacompanhada
37 – DTA - Passagem especial - mala diplomática
38 – DTA - Passagem especial - partes e peças
39 – DTA - Passagem especial - urna funerária
40 – DTA - Passagem especial - outras
50 – DTI
99 – DUIMP
**/
private TipoDocumentoSaidaEnum tipoDocumentoSaida = null;
@@ -361,7 +361,7 @@ public EstoqueConsultaDetalhada situacaoAtual(String situacaoAtual) {
}
/**
- * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Importação comum<br/>31 – DTA - Importação especial - bagagem desacompanhada<br/>32 – DTA - Importação especial - mala diplomática<br/>33 – DTA - Importação especial - urna funerária<br/>34 – DTA - Importação especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem comum - bagagem desacompanhada<br/>37 – DTA - Passagem comum - mala diplomática<br/>38 – DTA - Passagem comum - partes e peças<br/>39 – DTA - Passagem comum - urna funerária<br/>40 – DTA - Passagem comum - outras<br/>50 – DTI<br/>99 – DUIMP<br/>
+ * Tipo de documento de saída<p>Os documentos podem ser:</p>10 – DI<br/>11 – Processo Digital/Processo Dossiê<br/>12 – E-DMOV<br/>20 – Outros<br/>21 – PMB<br/>22 – PDE/TR<br/>23 – DSI Eletrônica<br/>24 – DSI Formulário<br/>30 – DTA - Entrada comum<br/>31 – DTA - Entrada especial - bagagem desacompanhada<br/>32 – DTA - Entrada especial - mala diplomática<br/>33 – DTA - Entrada especial - urna funerária<br/>34 – DTA - Entrada especial - outras<br/>35 – DTA - Passagem comum<br/>36 – DTA - Passagem especial - bagagem desacompanhada<br/>37 – DTA - Passagem especial - mala diplomática<br/>38 – DTA - Passagem especial - partes e peças<br/>39 – DTA - Passagem especial - urna funerária<br/>40 – DTA - Passagem especial - outras<br/>50 – DTI<br/>99 – DUIMP<br/>
*
* @return tipoDocumentoSaida
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java b/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java
index 48abc48..bb3f039 100644
--- a/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java
+++ b/src/main/java/br/gov/siscomex/portalunico/ccta_ext_xml/api/ServiosDeEnvioDeArquivosApi.java
@@ -21,7 +21,6 @@
* Controle de Carga e Trânsito Importação - Modal Aéreo
*
* Manual do Usuário
Introdução
Manifestação de Viagens e Cargas (arquivos Cargo XML)
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação da Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br CLSF - Classificação Fiscal de Mercadorias
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json Ambiente de Produção https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json CLSF - Classificação Fiscal de Mercadorias
Introdução
URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas https://val.portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json Ambiente de Produção https://portalunico.siscomex.gov.br/classif/api/publico/nomenclatura/download/json
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp
Valor mínimo: 1
Valor máximo: 9999", required = true) @PathParam("versaoDuimp") String versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+ Response consultarDuimp(@ApiParam(value = "Número da Duimp
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
/**
- * Consulta os dados da versão vigente de uma DUIMP registrada.
+ * Consulta os dados de uma versão específica de uma DUIMP registrada.
*
- * <p> Disponível apenas para as Secretarias de Fazenda (SEFAZ).</p>
+ * <p>Disponível apenas para as Secretarias de Fazenda (SEFAZ).</p>
*
*/
@GET
- @Path("/ext/sefaz/duimp/{numeroDuimp}")
+ @Path("/ext/sefaz/duimp/{numeroDuimp}/{versaoDuimp}")
@Produces({"application/json"})
- @ApiOperation(value = "Consulta os dados da versão vigente de uma DUIMP registrada.", notes = "
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+ Response consultarDuimp1(@ApiParam(value = "Número da Duimp
Tamanho: 15
Formato: 'NNAANNNNNNNNNNN'
Lei de formação. O número da Duimp é composto por:
* NN = Corresponde ao ano do registro da Declaração.
* AA = Corresponde à sigla do país de emissão do documento (BR).
* NNNNNNNNNN = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* N = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numeroDuimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp
Valor mínimo: 1
Valor máximo: 9999", required = true) @PathParam("versaoDuimp") String versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
}
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java
index 4528112..acdb802 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp/model/SefazExportadorEstrangeiroCover.java
@@ -122,9 +122,9 @@ public static VinculacaoCompradorVendedorEnum fromValue(String v) {
private VinculacaoCompradorVendedorEnum vinculacaoCompradorVendedor = null;
@XmlElement(name = "codigoOperadorExportador")
- @ApiModelProperty(example = "CN001", value = "Código do exportador estrangeiro (TIN)
Tamanho mínimo: 1
Tamanho máximo: 35")
+ @ApiModelProperty(example = "CN001", value = "Código do exportador estrangeiro
Tamanho mínimo: 1
Tamanho máximo: 35")
/**
- * Código do exportador estrangeiro (TIN)
Tamanho mínimo: 1
Tamanho máximo: 35
+ * Código do exportador estrangeiro
Tamanho mínimo: 1
Tamanho máximo: 35
**/
private String codigoOperadorExportador = null;
@@ -178,7 +178,7 @@ public SefazExportadorEstrangeiroCover vinculacaoCompradorVendedor(VinculacaoCom
}
/**
- * Código do exportador estrangeiro (TIN)<br>Tamanho mínimo: 1<br>Tamanho máximo: 35
+ * Código do exportador estrangeiro<br>Tamanho mínimo: 1<br>Tamanho máximo: 35
*
* @return codigoOperadorExportador
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java
index 2af0202..a428be7 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/DuimpApiMessageCover.java
@@ -18,21 +18,21 @@
public class DuimpApiMessageCover {
@XmlElement(name = "code")
- @ApiModelProperty(example = "DIMP-ER0004", value = "Código interno da mensagem de erro.")
+ @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.")
/**
* Código interno da mensagem de erro.
**/
private String code = null;
@XmlElement(name = "field")
- @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.")
+ @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido")
/**
- * Nome do campo que contém o valor inválido.
+ * Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
**/
private String field = null;
@XmlElement(name = "message")
- @ApiModelProperty(example = "Número da Duimp inválido.", value = "Mensagem de erro.")
+ @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.")
/**
* Mensagem de erro.
**/
@@ -58,7 +58,7 @@ public DuimpApiMessageCover code(String code) {
}
/**
- * Nome do campo que contém o valor inválido.
+ * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
*
* @return field
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java
index f64c2f3..ee2b523 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ExportadorCover.java
@@ -25,9 +25,9 @@
public class ExportadorCover {
@XmlElement(name = "codigo", required = true)
- @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro (TIN).
Tamanho mínimo: 1
Tamanho máximo: 35")
+ @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35")
/**
- * Código do exportador estrangeiro (TIN).
Tamanho mínimo: 1
Tamanho máximo: 35
+ * Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35
**/
private String codigo = null;
@@ -51,7 +51,7 @@ public class ExportadorCover {
private PaisExportadorCover pais = null;
/**
- * Código do exportador estrangeiro (TIN).<br>Tamanho mínimo: 1<br>Tamanho máximo: 35
+ * Código do exportador estrangeiro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35
*
* @return codigo
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java
index 4db53e1..71f3a27 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/FabricanteCover.java
@@ -24,9 +24,9 @@
public class FabricanteCover {
@XmlElement(name = "codigo")
- @ApiModelProperty(example = "2104", value = "Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro (TIN).")
+ @ApiModelProperty(example = "2104", value = "Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.")
/**
- * Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro (TIN).
+ * Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.
**/
private String codigo = null;
@@ -50,7 +50,7 @@ public class FabricanteCover {
private PaisFabricanteCover pais = null;
/**
- * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro (TIN).
+ * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.
*
* @return codigo
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java
index ed6e73d..39fda5b 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/MemoriaCalculoItemCover.java
@@ -25,9 +25,9 @@
public class MemoriaCalculoItemCover {
@XmlElement(name = "codigoFundamentoLegalNormal")
- @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.")
/**
- * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
**/
private Integer codigoFundamentoLegalNormal = null;
@@ -155,7 +155,7 @@ public static TipoAliquotaEnum fromValue(String v) {
private Double percentualPagamento = null;
/**
- * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
*
* @return codigoFundamentoLegalNormal
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java
index 8330936..4ec394c 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiDiagnosticoRegistro.java
@@ -13,7 +13,7 @@
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RespostaApiDiagnosticoRegistro", propOrder =
- {"message", "identificacao", "links", "situacao"
+ {"message", "identificacao", "situacao", "links"
})
@XmlRootElement(name = "RespostaApiDiagnosticoRegistro")
@@ -31,6 +31,13 @@ public class RespostaApiDiagnosticoRegistro {
@Valid
private IdentificacaoDuimpRespostaApi identificacao = null;
+ @XmlElement(name = "situacao")
+ @ApiModelProperty(example = "Diagnóstico em processamento", value = "Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80")
+ /**
+ * Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80
+ **/
+ private String situacao = null;
+
@XmlElement(name = "links")
@ApiModelProperty(value = "Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.")
@Valid
@@ -39,13 +46,6 @@ public class RespostaApiDiagnosticoRegistro {
**/
private List
Tamanho mínimo: 1
Tamanho máximo: 80")
- /**
- * Descrição da situação inicial da solicitação de diagnóstico ou registro.
Tamanho mínimo: 1
Tamanho máximo: 80
- **/
- private String situacao = null;
-
/**
* Mensagem de resposta do resultado da operação.
*
@@ -84,6 +84,25 @@ public RespostaApiDiagnosticoRegistro identificacao(IdentificacaoDuimpRespostaAp
return this;
}
+ /**
+ * Descrição da situação inicial da solicitação de diagnóstico ou registro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 80
+ *
+ * @return situacao
+ **/
+ @JsonProperty("situacao")
+ public String getSituacao() {
+ return situacao;
+ }
+
+ public void setSituacao(String situacao) {
+ this.situacao = situacao;
+ }
+
+ public RespostaApiDiagnosticoRegistro situacao(String situacao) {
+ this.situacao = situacao;
+ return this;
+ }
+
/**
* Operações disponíveis sobre o recurso.<br>Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.
*
@@ -108,25 +127,6 @@ public RespostaApiDiagnosticoRegistro addLinksItem(LinkCover linksItem) {
return this;
}
- /**
- * Descrição da situação inicial da solicitação de diagnóstico ou registro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 80
- *
- * @return situacao
- **/
- @JsonProperty("situacao")
- public String getSituacao() {
- return situacao;
- }
-
- public void setSituacao(String situacao) {
- this.situacao = situacao;
- }
-
- public RespostaApiDiagnosticoRegistro situacao(String situacao) {
- this.situacao = situacao;
- return this;
- }
-
@Override
public String toString() {
@@ -134,8 +134,8 @@ public String toString() {
String sb = "class RespostaApiDiagnosticoRegistro {\n" +
" message: " + toIndentedString(message) + "\n" +
" identificacao: " + toIndentedString(identificacao) + "\n" +
- " links: " + toIndentedString(links) + "\n" +
" situacao: " + toIndentedString(situacao) + "\n" +
+ " links: " + toIndentedString(links) + "\n" +
"}";
return sb;
}
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java
index ff68b24..8edd1d0 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/RespostaApiItens.java
@@ -13,7 +13,7 @@
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "RespostaApiItens", propOrder =
- {"message", "identificacao", "links", "multiStatus"
+ {"message", "identificacao", "multiStatus", "links"
})
@XmlRootElement(name = "RespostaApiItens")
@@ -31,14 +31,6 @@ public class RespostaApiItens {
@Valid
private IdentificacaoDuimpRespostaApi identificacao = null;
- @XmlElement(name = "links")
- @ApiModelProperty(value = "Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.")
- @Valid
- /**
- * Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.
- **/
- private List
Cada elemento desta lista possuí um atributo 'code' informando o código da resposta para um item específico.
Este atributo poderá ter o valor 200 ou 201 em caso de sucesso (dependendo da operação) ou um código diferente em caso de erro")
@Valid
@@ -47,6 +39,14 @@ public class RespostaApiItens {
**/
private List
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.")
+ @Valid
+ /**
+ * Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.
+ **/
+ private List
Tamanho mínimo: 1
Tamanho máximo: 30")
+ @ApiModelProperty(example = "RECEITA", value = "Sigla do órgão da administração pública.
Tamanho mínimo: 1
Tamanho máximo: 30")
/**
* Sigla do órgão da administração pública.
Tamanho mínimo: 1
Tamanho máximo: 30
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java
index 10ae5d8..8791f47 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpConsultaCover.java
@@ -23,9 +23,9 @@
public class ValoresTributoDuimpConsultaCover {
@XmlElement(name = "calculado")
- @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
/**
- * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
**/
private Double calculado = null;
@@ -37,9 +37,9 @@ public class ValoresTributoDuimpConsultaCover {
private Double aReduzir = null;
@XmlElement(name = "devido")
- @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
/**
- * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
**/
private Double devido = null;
@@ -65,7 +65,7 @@ public class ValoresTributoDuimpConsultaCover {
private Double recolhido = null;
/**
- * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
*
* @return calculado
**/
@@ -103,7 +103,7 @@ public ValoresTributoDuimpConsultaCover aReduzir(Double aReduzir) {
}
/**
- * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
*
* @return devido
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java
index 59fc7ce..a825d7c 100644
--- a/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api/model/ValoresTributoDuimpCover.java
@@ -18,9 +18,9 @@
public class ValoresTributoDuimpCover {
@XmlElement(name = "calculado")
- @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
/**
- * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
**/
private Double calculado = null;
@@ -32,9 +32,9 @@ public class ValoresTributoDuimpCover {
private Double aReduzir = null;
@XmlElement(name = "devido")
- @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
/**
- * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
**/
private Double devido = null;
@@ -74,7 +74,7 @@ public class ValoresTributoDuimpCover {
private Double juros = null;
/**
- * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"originalmente devidos\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
*
* @return calculado
**/
@@ -112,7 +112,7 @@ public ValoresTributoDuimpCover aReduzir(Double aReduzir) {
}
/**
- * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor corresponde ao somatório dos valores \"a recolher\" dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
*
* @return devido
**/
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/DadosGeraisDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/DadosGeraisDaDuimpApi.java
new file mode 100644
index 0000000..c0c2521
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/DadosGeraisDaDuimpApi.java
@@ -0,0 +1,45 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.api;
+
+import br.gov.siscomex.portalunico.duimp_api_receita.model.RespostaApiErro;
+import br.gov.siscomex.portalunico.duimp_api_receita.model.ValoresCalculadosDuimpCover;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+/**
+ * Declaração Única de Importação - API Receita Federal
+ *
+ * URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br As operações disponíveis na API para a Receita são:
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ItensDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ItensDaDuimpApi.java
new file mode 100644
index 0000000..88c04a0
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ItensDaDuimpApi.java
@@ -0,0 +1,45 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.api;
+
+import br.gov.siscomex.portalunico.duimp_api_receita.model.RespostaApiErro;
+import br.gov.siscomex.portalunico.duimp_api_receita.model.ValoresCalculadosItemCover;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+/**
+ * Declaração Única de Importação - API Receita Federal
+ *
+ * URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br As operações disponíveis na API para a Receita são:
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)", required = true) @PathParam("numero-duimp") String numeroDuimp, @ApiParam(value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999", required = true) @PathParam("versao-duimp") Object versaoDuimp, @ApiParam(value = "Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos", required = true) @PathParam("numero-item") Object numeroItem, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF. Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ModelosDaDuimpApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ModelosDaDuimpApi.java
new file mode 100644
index 0000000..8cae330
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/api/ModelosDaDuimpApi.java
@@ -0,0 +1,85 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.api;
+
+import br.gov.siscomex.portalunico.duimp_api_receita.model.DuimpCover;
+import br.gov.siscomex.portalunico.duimp_api_receita.model.ItemCover;
+import br.gov.siscomex.portalunico.duimp_api_receita.model.RegistroCover;
+import br.gov.siscomex.portalunico.duimp_api_receita.model.RespostaApiErro;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.constraints.NotNull;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+
+/**
+ * Declaração Única de Importação - API Receita Federal
+ *
+ * URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação das Empresas val.portalunico.siscomex.gov.br Ambiente de Produção portalunico.siscomex.gov.br As operações disponíveis na API para a Receita são:
Domínio:")
+ /**
+ * Tipo de Operação (acreścimo ou dedução).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "moeda", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private MoedaAcrescimoDeducaoCover moeda = null;
+
+ @XmlElement(name = "denominacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private DenominacaoAcrescimoDeducaoCover denominacao = null;
+
+ /**
+ * Tipo de Operação (acreścimo ou dedução).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ @NotNull
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public AcrescimoDeducaoCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get moeda
+ *
+ * @return moeda
+ **/
+ @JsonProperty("moeda")
+ @NotNull
+ public MoedaAcrescimoDeducaoCover getMoeda() {
+ return moeda;
+ }
+
+ public void setMoeda(MoedaAcrescimoDeducaoCover moeda) {
+ this.moeda = moeda;
+ }
+
+ public AcrescimoDeducaoCover moeda(MoedaAcrescimoDeducaoCover moeda) {
+ this.moeda = moeda;
+ return this;
+ }
+
+ /**
+ * Get denominacao
+ *
+ * @return denominacao
+ **/
+ @JsonProperty("denominacao")
+ @NotNull
+ public DenominacaoAcrescimoDeducaoCover getDenominacao() {
+ return denominacao;
+ }
+
+ public void setDenominacao(DenominacaoAcrescimoDeducaoCover denominacao) {
+ this.denominacao = denominacao;
+ }
+
+ public AcrescimoDeducaoCover denominacao(DenominacaoAcrescimoDeducaoCover denominacao) {
+ this.denominacao = denominacao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AcrescimoDeducaoCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " moeda: " + toIndentedString(moeda) + "\n" +
+ " denominacao: " + toIndentedString(denominacao) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoValoresCalculadosCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoValoresCalculadosCover.java
new file mode 100644
index 0000000..45e20f4
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AcrescimoDeducaoValoresCalculadosCover.java
@@ -0,0 +1,167 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AcrescimoDeducaoValoresCalculadosCover", propOrder =
+ {"tipo", "denominacao", "valorBRL"
+ })
+
+@XmlRootElement(name = "AcrescimoDeducaoValoresCalculadosCover")
+public class AcrescimoDeducaoValoresCalculadosCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("ACRESCIMO")
+ @JsonProperty("ACRESCIMO")
+ ACRESCIMO("ACRESCIMO"),
+
+ @XmlEnumValue("DEDUCAO")
+ @JsonProperty("DEDUCAO")
+ DEDUCAO("DEDUCAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo", required = true)
+ @ApiModelProperty(example = "ACRESCIMO", required = true, value = "Tipo de Operação (acreścimo ou dedução).
Domínio:")
+ /**
+ * Tipo de Operação (acreścimo ou dedução).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "denominacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private DenominacaoAcrescimoDeducaoCover denominacao = null;
+
+ @XmlElement(name = "valorBRL")
+ @ApiModelProperty(example = "400.48", value = "Valor do acréscimo/dedução em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do acréscimo/dedução em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorBRL = null;
+
+ /**
+ * Tipo de Operação (acreścimo ou dedução).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ @NotNull
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public AcrescimoDeducaoValoresCalculadosCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get denominacao
+ *
+ * @return denominacao
+ **/
+ @JsonProperty("denominacao")
+ @NotNull
+ public DenominacaoAcrescimoDeducaoCover getDenominacao() {
+ return denominacao;
+ }
+
+ public void setDenominacao(DenominacaoAcrescimoDeducaoCover denominacao) {
+ this.denominacao = denominacao;
+ }
+
+ public AcrescimoDeducaoValoresCalculadosCover denominacao(DenominacaoAcrescimoDeducaoCover denominacao) {
+ this.denominacao = denominacao;
+ return this;
+ }
+
+ /**
+ * Valor do acréscimo/dedução em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorBRL
+ **/
+ @JsonProperty("valorBRL")
+ public Double getValorBRL() {
+ return valorBRL;
+ }
+
+ public void setValorBRL(Double valorBRL) {
+ this.valorBRL = valorBRL;
+ }
+
+ public AcrescimoDeducaoValoresCalculadosCover valorBRL(Double valorBRL) {
+ this.valorBRL = valorBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AcrescimoDeducaoValoresCalculadosCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " denominacao: " + toIndentedString(denominacao) + "\n" +
+ " valorBRL: " + toIndentedString(valorBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AdicaoValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AdicaoValoresCalculadosDuimpCover.java
new file mode 100644
index 0000000..c6732d7
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AdicaoValoresCalculadosDuimpCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AdicaoValoresCalculadosDuimpCover", propOrder =
+ {"numero", "itens"
+ })
+
+@XmlRootElement(name = "AdicaoValoresCalculadosDuimpCover")
+/**
+ * Dados da adição.
+ **/
+@ApiModel(description = "Dados da adição.")
+public class AdicaoValoresCalculadosDuimpCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "1.0", value = "Número total de adições.
Tamanho mínimo: 1
Tamanho máximo: 99")
+ /**
+ * Número total de adições.
Tamanho mínimo: 1
Tamanho máximo: 99
+ **/
+ private Double numero = null;
+
+ @XmlElement(name = "itens")
+ @ApiModelProperty(example = "1.0", value = "Número de identificação de cada item que compõe a Duimp.
Tamanho mínimo: 1
Tamanho máximo: 9999")
+ /**
+ * Número de identificação de cada item que compõe a Duimp.
Tamanho mínimo: 1
Tamanho máximo: 9999
+ **/
+ private Double itens = null;
+
+ /**
+ * Número total de adições.<br>Tamanho mínimo: 1<br>Tamanho máximo: 99
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public Double getNumero() {
+ return numero;
+ }
+
+ public void setNumero(Double numero) {
+ this.numero = numero;
+ }
+
+ public AdicaoValoresCalculadosDuimpCover numero(Double numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Número de identificação de cada item que compõe a Duimp.<br>Tamanho mínimo: 1<br>Tamanho máximo: 9999
+ *
+ * @return itens
+ **/
+ @JsonProperty("itens")
+ public Double getItens() {
+ return itens;
+ }
+
+ public void setItens(Double itens) {
+ this.itens = itens;
+ }
+
+ public AdicaoValoresCalculadosDuimpCover itens(Double itens) {
+ this.itens = itens;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AdicaoValoresCalculadosDuimpCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " itens: " + toIndentedString(itens) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoFundamentoLegalItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoFundamentoLegalItemCover.java
new file mode 100644
index 0000000..2ba6905
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoFundamentoLegalItemCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AtributoFundamentoLegalItemCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "AtributoFundamentoLegalItemCover")
+/**
+ * Lista de atributos dinâmicos relacionados ao Fundamento Legal aplicado.
Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de atributos dinâmicos relacionados ao Fundamento Legal aplicado.
Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/")
+public class AtributoFundamentoLegalItemCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "ATT_1001", value = "Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14")
+ /**
+ * Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "230000123", value = "Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000")
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000
+ **/
+ private String valor = null;
+
+ /**
+ * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public AtributoFundamentoLegalItemCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public AtributoFundamentoLegalItemCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AtributoFundamentoLegalItemCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoItemCover.java
new file mode 100644
index 0000000..9458ae5
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoItemCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AtributoItemCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "AtributoItemCover")
+/**
+ * Lista de atributos dinâmicos da mercadoria.
Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de atributos dinâmicos da mercadoria.
Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/")
+public class AtributoItemCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14")
+ /**
+ * Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000")
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000
+ **/
+ private String valor = null;
+
+ /**
+ * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public AtributoItemCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public AtributoItemCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AtributoItemCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoTributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoTributoCover.java
new file mode 100644
index 0000000..ed50ee3
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/AtributoTributoCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AtributoTributoCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "AtributoTributoCover")
+/**
+ * Lista de atributos dinâmicos dos tributos.
+ **/
+@ApiModel(description = "Lista de atributos dinâmicos dos tributos.")
+public class AtributoTributoCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14")
+ /**
+ * Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000")
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000
+ **/
+ private String valor = null;
+
+ /**
+ * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public AtributoTributoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public AtributoTributoCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AtributoTributoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CaracterizacaoImportacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CaracterizacaoImportacaoCover.java
new file mode 100644
index 0000000..5880196
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CaracterizacaoImportacaoCover.java
@@ -0,0 +1,149 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CaracterizacaoImportacaoCover", propOrder =
+ {"indicador", "ni"
+ })
+
+@XmlRootElement(name = "CaracterizacaoImportacaoCover")
+/**
+ * Caracterização da Importação.
+ **/
+@ApiModel(description = "Caracterização da Importação.")
+public class CaracterizacaoImportacaoCover {
+
+
+ @XmlType(name = "IndicadorEnum")
+ @XmlEnum(String.class)
+ public enum IndicadorEnum {
+
+ @XmlEnumValue("IMPORTACAO_DIRETA")
+ @JsonProperty("IMPORTACAO_DIRETA")
+ DIRETA("IMPORTACAO_DIRETA"),
+
+ @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM")
+ @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM")
+ POR_CONTA_E_ORDEM("IMPORTACAO_POR_CONTA_E_ORDEM"),
+
+ @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA")
+ @JsonProperty("IMPORTACAO_POR_ENCOMENDA")
+ POR_ENCOMENDA("IMPORTACAO_POR_ENCOMENDA");
+
+
+ private final String value;
+
+ IndicadorEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static IndicadorEnum fromValue(String v) {
+ for (IndicadorEnum b : IndicadorEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to IndicadorEnum");
+ }
+ }
+
+ @XmlElement(name = "indicador", required = true)
+ @ApiModelProperty(example = "IMPORTACAO_DIRETA", required = true, value = "Indicador de importação por terceiros.")
+ /**
+ * Indicador de importação por terceiros.
+ **/
+ private IndicadorEnum indicador = null;
+
+ @XmlElement(name = "ni")
+ @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente ou encomendante.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'")
+ /**
+ * CNPJ do adquirente ou encomendante.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'
+ **/
+ private String ni = null;
+
+ /**
+ * Indicador de importação por terceiros.
+ *
+ * @return indicador
+ **/
+ @JsonProperty("indicador")
+ @NotNull
+ public String getIndicador() {
+ if (indicador == null) {
+ return null;
+ }
+ return indicador.value();
+ }
+
+ public void setIndicador(IndicadorEnum indicador) {
+ this.indicador = indicador;
+ }
+
+ public CaracterizacaoImportacaoCover indicador(IndicadorEnum indicador) {
+ this.indicador = indicador;
+ return this;
+ }
+
+ /**
+ * CNPJ do adquirente ou encomendante.<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'
+ *
+ * @return ni
+ **/
+ @JsonProperty("ni")
+ public String getNi() {
+ return ni;
+ }
+
+ public void setNi(String ni) {
+ this.ni = ni;
+ }
+
+ public CaracterizacaoImportacaoCover ni(String ni) {
+ this.ni = ni;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CaracterizacaoImportacaoCover {\n" +
+ " indicador: " + toIndentedString(indicador) + "\n" +
+ " ni: " + toIndentedString(ni) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaCover.java
new file mode 100644
index 0000000..a4e6ba0
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaCover.java
@@ -0,0 +1,273 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaCover", propOrder =
+ {"tipoIdentificacaoCarga", "identificacao", "unidadeDeclarada", "motivoSituacaoEspecial", "seguro", "frete", "paisProcedencia"
+ })
+
+@XmlRootElement(name = "CargaCover")
+/**
+ * Dados da carga.
+ **/
+@ApiModel(description = "Dados da carga.")
+public class CargaCover {
+
+
+ @XmlType(name = "TipoIdentificacaoCargaEnum")
+ @XmlEnum(String.class)
+ public enum TipoIdentificacaoCargaEnum {
+
+ @XmlEnumValue("CE")
+ @JsonProperty("CE")
+ CE("CE"),
+
+ @XmlEnumValue("RUC")
+ @JsonProperty("RUC")
+ RUC("RUC");
+
+
+ private final String value;
+
+ TipoIdentificacaoCargaEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoIdentificacaoCargaEnum fromValue(String v) {
+ for (TipoIdentificacaoCargaEnum b : TipoIdentificacaoCargaEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoIdentificacaoCargaEnum");
+ }
+ }
+
+ @XmlElement(name = "tipoIdentificacaoCarga")
+ @ApiModelProperty(example = "CE", value = "Descreve se a identificação da carga é do tipo CE ou RUC")
+ /**
+ * Descreve se a identificação da carga é do tipo CE ou RUC
+ **/
+ private TipoIdentificacaoCargaEnum tipoIdentificacaoCarga = null;
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(value = "Número de Identificação da Carga.
Quando tipo de identificação da carga for CE:
- Tamanho: 15
- Formato: NNNNNNNNNNNNNNN
Quando tipo de identificação da carga for RUC:
- Tamanho mínimo: 1
- Tamanho máximo: 32
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo")
+ /**
+ * Número de Identificação da Carga.
Quando tipo de identificação da carga for CE:
- Tamanho: 15
- Formato: NNNNNNNNNNNNNNN
Quando tipo de identificação da carga for RUC:
- Tamanho mínimo: 1
- Tamanho máximo: 32
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ **/
+ private String identificacao = null;
+
+ @XmlElement(name = "unidadeDeclarada", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private UnidadeDeclaradaCover unidadeDeclarada = null;
+
+ @XmlElement(name = "motivoSituacaoEspecial")
+ @ApiModelProperty(value = "Código do motivo da situação especial de despacho no sistema.
Tamanho: 5
Formato: 'NNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código do motivo da situação especial de despacho no sistema.
Tamanho: 5
Formato: 'NNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String motivoSituacaoEspecial = null;
+
+ @XmlElement(name = "seguro")
+ @ApiModelProperty(value = "")
+ @Valid
+ private SeguroCover seguro = null;
+
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FreteCover frete = null;
+
+ @XmlElement(name = "paisProcedencia")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaDuimpPaisProcedenciaCover paisProcedencia = null;
+
+ /**
+ * Descreve se a identificação da carga é do tipo CE ou RUC
+ *
+ * @return tipoIdentificacaoCarga
+ **/
+ @JsonProperty("tipoIdentificacaoCarga")
+ public String getTipoIdentificacaoCarga() {
+ if (tipoIdentificacaoCarga == null) {
+ return null;
+ }
+ return tipoIdentificacaoCarga.value();
+ }
+
+ public void setTipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) {
+ this.tipoIdentificacaoCarga = tipoIdentificacaoCarga;
+ }
+
+ public CargaCover tipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) {
+ this.tipoIdentificacaoCarga = tipoIdentificacaoCarga;
+ return this;
+ }
+
+ /**
+ * Número de Identificação da Carga.<br>Quando tipo de identificação da carga for CE: <br> - Tamanho: 15 <br> - Formato: NNNNNNNNNNNNNNN<br>Quando tipo de identificação da carga for RUC: <br> - Tamanho mínimo: 1<br> - Tamanho máximo: 32<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11<br><br>Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/<br>Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ *
+ * @return identificacao
+ **/
+ @JsonProperty("identificacao")
+ public String getIdentificacao() {
+ return identificacao;
+ }
+
+ public void setIdentificacao(String identificacao) {
+ this.identificacao = identificacao;
+ }
+
+ public CargaCover identificacao(String identificacao) {
+ this.identificacao = identificacao;
+ return this;
+ }
+
+ /**
+ * Get unidadeDeclarada
+ *
+ * @return unidadeDeclarada
+ **/
+ @JsonProperty("unidadeDeclarada")
+ @NotNull
+ public UnidadeDeclaradaCover getUnidadeDeclarada() {
+ return unidadeDeclarada;
+ }
+
+ public void setUnidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) {
+ this.unidadeDeclarada = unidadeDeclarada;
+ }
+
+ public CargaCover unidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) {
+ this.unidadeDeclarada = unidadeDeclarada;
+ return this;
+ }
+
+ /**
+ * Código do motivo da situação especial de despacho no sistema.<br>Tamanho: 5<br>Formato: 'NNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return motivoSituacaoEspecial
+ **/
+ @JsonProperty("motivoSituacaoEspecial")
+ public String getMotivoSituacaoEspecial() {
+ return motivoSituacaoEspecial;
+ }
+
+ public void setMotivoSituacaoEspecial(String motivoSituacaoEspecial) {
+ this.motivoSituacaoEspecial = motivoSituacaoEspecial;
+ }
+
+ public CargaCover motivoSituacaoEspecial(String motivoSituacaoEspecial) {
+ this.motivoSituacaoEspecial = motivoSituacaoEspecial;
+ return this;
+ }
+
+ /**
+ * Get seguro
+ *
+ * @return seguro
+ **/
+ @JsonProperty("seguro")
+ public SeguroCover getSeguro() {
+ return seguro;
+ }
+
+ public void setSeguro(SeguroCover seguro) {
+ this.seguro = seguro;
+ }
+
+ public CargaCover seguro(SeguroCover seguro) {
+ this.seguro = seguro;
+ return this;
+ }
+
+ /**
+ * Get frete
+ *
+ * @return frete
+ **/
+ @JsonProperty("frete")
+ public FreteCover getFrete() {
+ return frete;
+ }
+
+ public void setFrete(FreteCover frete) {
+ this.frete = frete;
+ }
+
+ public CargaCover frete(FreteCover frete) {
+ this.frete = frete;
+ return this;
+ }
+
+ /**
+ * Get paisProcedencia
+ *
+ * @return paisProcedencia
+ **/
+ @JsonProperty("paisProcedencia")
+ public CargaDuimpPaisProcedenciaCover getPaisProcedencia() {
+ return paisProcedencia;
+ }
+
+ public void setPaisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) {
+ this.paisProcedencia = paisProcedencia;
+ }
+
+ public CargaCover paisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) {
+ this.paisProcedencia = paisProcedencia;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaCover {\n" +
+ " tipoIdentificacaoCarga: " + toIndentedString(tipoIdentificacaoCarga) + "\n" +
+ " identificacao: " + toIndentedString(identificacao) + "\n" +
+ " unidadeDeclarada: " + toIndentedString(unidadeDeclarada) + "\n" +
+ " motivoSituacaoEspecial: " + toIndentedString(motivoSituacaoEspecial) + "\n" +
+ " seguro: " + toIndentedString(seguro) + "\n" +
+ " frete: " + toIndentedString(frete) + "\n" +
+ " paisProcedencia: " + toIndentedString(paisProcedencia) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaDuimpPaisProcedenciaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaDuimpPaisProcedenciaCover.java
new file mode 100644
index 0000000..c722ec3
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaDuimpPaisProcedenciaCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaDuimpPaisProcedenciaCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "CargaDuimpPaisProcedenciaCover")
+/**
+ * País de Procedência.
Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador
+ **/
+@ApiModel(description = "País de Procedência.
Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador")
+public class CargaDuimpPaisProcedenciaCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "CN", value = "Código do país de procedência no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'")
+ /**
+ * Código do país de procedência no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do país de procedência no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA'
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public CargaDuimpPaisProcedenciaCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaDuimpPaisProcedenciaCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaValoresCalculadosDuimpCover.java
new file mode 100644
index 0000000..d6020bc
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CargaValoresCalculadosDuimpCover.java
@@ -0,0 +1,96 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaValoresCalculadosDuimpCover", propOrder =
+ {"frete", "seguro"
+ })
+
+@XmlRootElement(name = "CargaValoresCalculadosDuimpCover")
+/**
+ * Dados da carga.
+ **/
+@ApiModel(description = "Dados da carga.")
+public class CargaValoresCalculadosDuimpCover {
+
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FreteValoresCalculadosDuimpCover frete = null;
+
+ @XmlElement(name = "seguro")
+ @ApiModelProperty(value = "")
+ @Valid
+ private SeguroValoresCalculadosDuimpCover seguro = null;
+
+ /**
+ * Get frete
+ *
+ * @return frete
+ **/
+ @JsonProperty("frete")
+ public FreteValoresCalculadosDuimpCover getFrete() {
+ return frete;
+ }
+
+ public void setFrete(FreteValoresCalculadosDuimpCover frete) {
+ this.frete = frete;
+ }
+
+ public CargaValoresCalculadosDuimpCover frete(FreteValoresCalculadosDuimpCover frete) {
+ this.frete = frete;
+ return this;
+ }
+
+ /**
+ * Get seguro
+ *
+ * @return seguro
+ **/
+ @JsonProperty("seguro")
+ public SeguroValoresCalculadosDuimpCover getSeguro() {
+ return seguro;
+ }
+
+ public void setSeguro(SeguroValoresCalculadosDuimpCover seguro) {
+ this.seguro = seguro;
+ }
+
+ public CargaValoresCalculadosDuimpCover seguro(SeguroValoresCalculadosDuimpCover seguro) {
+ this.seguro = seguro;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaValoresCalculadosDuimpCover {\n" +
+ " frete: " + toIndentedString(frete) + "\n" +
+ " seguro: " + toIndentedString(seguro) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CertificadoMercosulCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CertificadoMercosulCover.java
new file mode 100644
index 0000000..1b70acf
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CertificadoMercosulCover.java
@@ -0,0 +1,170 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CertificadoMercosulCover", propOrder =
+ {"tipo", "numero", "quantidade"
+ })
+
+@XmlRootElement(name = "CertificadoMercosulCover")
+/**
+ * Lista de declarações estrangeiras.
Observação: Este atributo somente deve ser preenchido quando o país de procedência é pertencente ao Mercosul.
Observação: Este grupo será preenchido apenas nos casos de importação de mercadorias que procedam diretamente do exterior cujo país de procedência seja membro do MERCOSUL.
+ **/
+@ApiModel(description = "Lista de declarações estrangeiras.
Observação: Este atributo somente deve ser preenchido quando o país de procedência é pertencente ao Mercosul.
Observação: Este grupo será preenchido apenas nos casos de importação de mercadorias que procedam diretamente do exterior cujo país de procedência seja membro do MERCOSUL.")
+public class CertificadoMercosulCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("CCPTC")
+ @JsonProperty("CCPTC")
+ CCPTC("CCPTC"),
+
+ @XmlEnumValue("CCROM")
+ @JsonProperty("CCROM")
+ CCROM("CCROM");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "CCPTC", value = "Tipo de certificado Mercosul.
Domínio:")
+ /**
+ * Tipo de certificado Mercosul.
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "PY-06000AA0000A-0001", value = "Número do Certificado Mercosul.
Tamanho mínimo: 1
Tamanho máximo: 20")
+ /**
+ * Número do Certificado Mercosul.
Tamanho mínimo: 1
Tamanho máximo: 20
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "quantidade")
+ @ApiModelProperty(example = "1.12345", value = "Quantidade da mercadoria na unidade estatística.
Tamanho: 11,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Quantidade da mercadoria na unidade estatística.
Tamanho: 11,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private String quantidade = null;
+
+ /**
+ * Tipo de certificado Mercosul.<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public CertificadoMercosulCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Número do Certificado Mercosul.<br>Tamanho mínimo: 1<br>Tamanho máximo: 20
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public CertificadoMercosulCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Quantidade da mercadoria na unidade estatística.<br>Tamanho: 11,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return quantidade
+ **/
+ @JsonProperty("quantidade")
+ public String getQuantidade() {
+ return quantidade;
+ }
+
+ public void setQuantidade(String quantidade) {
+ this.quantidade = quantidade;
+ }
+
+ public CertificadoMercosulCover quantidade(String quantidade) {
+ this.quantidade = quantidade;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CertificadoMercosulCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " quantidade: " + toIndentedString(quantidade) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CoberturaCambialCover.java
new file mode 100644
index 0000000..a27a165
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CoberturaCambialCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CoberturaCambialCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "CoberturaCambialCover")
+/**
+ * Cobertura cambial.
+ **/
+@ApiModel(description = "Cobertura cambial.")
+public class CoberturaCambialCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("ATE_180_DIAS")
+ @JsonProperty("ATE_180_DIAS")
+ ATE_180_DIAS("ATE_180_DIAS"),
+
+ @XmlEnumValue("DE_180_ATE_360")
+ @JsonProperty("DE_180_ATE_360")
+ DE_180_ATE_360("DE_180_ATE_360"),
+
+ @XmlEnumValue("ACIMA_360")
+ @JsonProperty("ACIMA_360")
+ ACIMA_360("ACIMA_360"),
+
+ @XmlEnumValue("SEM_COBERTURA")
+ @JsonProperty("SEM_COBERTURA")
+ SEM_COBERTURA("SEM_COBERTURA");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "ATE_180_DIAS", required = true, value = "Código da cobertura cambial.
Domínio:")
+ /**
+ * Código da cobertura cambial.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Código da cobertura cambial.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public CoberturaCambialCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CoberturaCambialCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaCover.java
new file mode 100644
index 0000000..e59ec1c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/CondicaoVendaCover.java
@@ -0,0 +1,177 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CondicaoVendaCover", propOrder =
+ {"metodoValoracao", "incoterm", "frete", "seguro", "acrescimosDeducoes"
+ })
+
+@XmlRootElement(name = "CondicaoVendaCover")
+/**
+ * Condição de venda da mercadoria.
+ **/
+@ApiModel(description = "Condição de venda da mercadoria.")
+public class CondicaoVendaCover {
+
+ @XmlElement(name = "metodoValoracao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MetodoValoracaoCover metodoValoracao = null;
+
+ @XmlElement(name = "incoterm")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IncotermCover incoterm = null;
+
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ItemFreteCover frete = null;
+
+ @XmlElement(name = "seguro")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ItemSeguroCover seguro = null;
+
+ @XmlElement(name = "acrescimosDeducoes")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Tamanho: 13,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor unitário da mercadoria na condição de venda.
Tamanho: 13,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorBRL = null;
+
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FreteValoresCalculadosItemCover frete = null;
+
+ @XmlElement(name = "seguro")
+ @ApiModelProperty(value = "")
+ @Valid
+ private SeguroValoresCalculadosItemCover seguro = null;
+
+ @XmlElement(name = "acrescimosDeducoes")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
Tamanho mínimo: 1
Tamanho máximo: 8")
+ /**
+ * Número do ROF no BACEN.
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
Tamanho mínimo: 1
Tamanho máximo: 8
+ **/
+ private String numeroROF = null;
+
+ @XmlElement(name = "instituicaoFinanciadora")
+ @ApiModelProperty(value = "")
+ @Valid
+ private InstituicaoFinanciadoraCover instituicaoFinanciadora = null;
+
+ @XmlElement(name = "valorCoberturaCambial")
+ @ApiModelProperty(example = "100.12", value = "Valor da cobertura cambial.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.")
+ /**
+ * Valor da cobertura cambial.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.
+ **/
+ private String valorCoberturaCambial = null;
+
+ @XmlElement(name = "motivoSemCobertura")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MotivoSemCoberturaCambialCover motivoSemCobertura = null;
+
+ /**
+ * Get coberturaCambial
+ *
+ * @return coberturaCambial
+ **/
+ @JsonProperty("coberturaCambial")
+ @NotNull
+ public CoberturaCambialCover getCoberturaCambial() {
+ return coberturaCambial;
+ }
+
+ public void setCoberturaCambial(CoberturaCambialCover coberturaCambial) {
+ this.coberturaCambial = coberturaCambial;
+ }
+
+ public DadosCambiaisCover coberturaCambial(CoberturaCambialCover coberturaCambial) {
+ this.coberturaCambial = coberturaCambial;
+ return this;
+ }
+
+ /**
+ * Número do ROF no BACEN.<br>Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.<br>Tamanho mínimo: 1<br>Tamanho máximo: 8
+ *
+ * @return numeroROF
+ **/
+ @JsonProperty("numeroROF")
+ public String getNumeroROF() {
+ return numeroROF;
+ }
+
+ public void setNumeroROF(String numeroROF) {
+ this.numeroROF = numeroROF;
+ }
+
+ public DadosCambiaisCover numeroROF(String numeroROF) {
+ this.numeroROF = numeroROF;
+ return this;
+ }
+
+ /**
+ * Get instituicaoFinanciadora
+ *
+ * @return instituicaoFinanciadora
+ **/
+ @JsonProperty("instituicaoFinanciadora")
+ public InstituicaoFinanciadoraCover getInstituicaoFinanciadora() {
+ return instituicaoFinanciadora;
+ }
+
+ public void setInstituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) {
+ this.instituicaoFinanciadora = instituicaoFinanciadora;
+ }
+
+ public DadosCambiaisCover instituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) {
+ this.instituicaoFinanciadora = instituicaoFinanciadora;
+ return this;
+ }
+
+ /**
+ * Valor da cobertura cambial.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.
+ *
+ * @return valorCoberturaCambial
+ **/
+ @JsonProperty("valorCoberturaCambial")
+ public String getValorCoberturaCambial() {
+ return valorCoberturaCambial;
+ }
+
+ public void setValorCoberturaCambial(String valorCoberturaCambial) {
+ this.valorCoberturaCambial = valorCoberturaCambial;
+ }
+
+ public DadosCambiaisCover valorCoberturaCambial(String valorCoberturaCambial) {
+ this.valorCoberturaCambial = valorCoberturaCambial;
+ return this;
+ }
+
+ /**
+ * Get motivoSemCobertura
+ *
+ * @return motivoSemCobertura
+ **/
+ @JsonProperty("motivoSemCobertura")
+ public MotivoSemCoberturaCambialCover getMotivoSemCobertura() {
+ return motivoSemCobertura;
+ }
+
+ public void setMotivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) {
+ this.motivoSemCobertura = motivoSemCobertura;
+ }
+
+ public DadosCambiaisCover motivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) {
+ this.motivoSemCobertura = motivoSemCobertura;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DadosCambiaisCover {\n" +
+ " coberturaCambial: " + toIndentedString(coberturaCambial) + "\n" +
+ " numeroROF: " + toIndentedString(numeroROF) + "\n" +
+ " instituicaoFinanciadora: " + toIndentedString(instituicaoFinanciadora) + "\n" +
+ " valorCoberturaCambial: " + toIndentedString(valorCoberturaCambial) + "\n" +
+ " motivoSemCobertura: " + toIndentedString(motivoSemCobertura) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoExportacaoEstrangeiraCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoExportacaoEstrangeiraCover.java
new file mode 100644
index 0000000..6b342ce
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoExportacaoEstrangeiraCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DeclaracaoExportacaoEstrangeiraCover", propOrder =
+ {"numero", "faixaInicio", "faixaFim"
+ })
+
+@XmlRootElement(name = "DeclaracaoExportacaoEstrangeiraCover")
+/**
+ * Lista de declarações estrangeiras.
Observação: Os campos deste grupo são informados apenas quando a procedência da carga é de um país do Mercosul.
+ **/
+@ApiModel(description = "Lista de declarações estrangeiras.
Observação: Os campos deste grupo são informados apenas quando a procedência da carga é de um país do Mercosul.")
+public class DeclaracaoExportacaoEstrangeiraCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "19XY0000001-XYZ", value = "Número da declaração.
Tamanho mínimo: 1
Tamanho máximo: 70")
+ /**
+ * Número da declaração.
Tamanho mínimo: 1
Tamanho máximo: 70
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "faixaInicio")
+ @ApiModelProperty(example = "A-11", value = "Item inicial da faixa de itens.
Tamanho mínimo: 1
Tamanho máximo: 7")
+ /**
+ * Item inicial da faixa de itens.
Tamanho mínimo: 1
Tamanho máximo: 7
+ **/
+ private String faixaInicio = null;
+
+ @XmlElement(name = "faixaFim")
+ @ApiModelProperty(example = "B-20", value = "Item final da faixa de itens.
Tamanho mínimo: 1
Tamanho máximo: 7")
+ /**
+ * Item final da faixa de itens.
Tamanho mínimo: 1
Tamanho máximo: 7
+ **/
+ private String faixaFim = null;
+
+ /**
+ * Número da declaração.<br>Tamanho mínimo: 1<br>Tamanho máximo: 70
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public DeclaracaoExportacaoEstrangeiraCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Item inicial da faixa de itens.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7
+ *
+ * @return faixaInicio
+ **/
+ @JsonProperty("faixaInicio")
+ public String getFaixaInicio() {
+ return faixaInicio;
+ }
+
+ public void setFaixaInicio(String faixaInicio) {
+ this.faixaInicio = faixaInicio;
+ }
+
+ public DeclaracaoExportacaoEstrangeiraCover faixaInicio(String faixaInicio) {
+ this.faixaInicio = faixaInicio;
+ return this;
+ }
+
+ /**
+ * Item final da faixa de itens.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7
+ *
+ * @return faixaFim
+ **/
+ @JsonProperty("faixaFim")
+ public String getFaixaFim() {
+ return faixaFim;
+ }
+
+ public void setFaixaFim(String faixaFim) {
+ this.faixaFim = faixaFim;
+ }
+
+ public DeclaracaoExportacaoEstrangeiraCover faixaFim(String faixaFim) {
+ this.faixaFim = faixaFim;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DeclaracaoExportacaoEstrangeiraCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " faixaInicio: " + toIndentedString(faixaInicio) + "\n" +
+ " faixaFim: " + toIndentedString(faixaFim) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoVinculadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoVinculadaCover.java
new file mode 100644
index 0000000..38377e0
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DeclaracaoVinculadaCover.java
@@ -0,0 +1,205 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DeclaracaoVinculadaCover", propOrder =
+ {"tipo", "numero", "numeroItem", "chaveAcesso"
+ })
+
+@XmlRootElement(name = "DeclaracaoVinculadaCover")
+/**
+ * Lista de declarações aduaneiras vinculadas.
+ **/
+@ApiModel(description = "Lista de declarações aduaneiras vinculadas.")
+public class DeclaracaoVinculadaCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("DUIMP")
+ @JsonProperty("DUIMP")
+ DUIMP("DUIMP"),
+
+ @XmlEnumValue("DUE")
+ @JsonProperty("DUE")
+ DUE("DUE"),
+
+ @XmlEnumValue("DI")
+ @JsonProperty("DI")
+ DI("DI"),
+
+ @XmlEnumValue("DE")
+ @JsonProperty("DE")
+ DE("DE");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "DUIMP", value = "Tipo de declaração vinculada.
Domínio:")
+ /**
+ * Tipo de declaração vinculada.
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "23BR00001010550", value = "Número da Declaração.
Tamanho mínimo: 1
Tamanho máximo: 15")
+ /**
+ * Número da Declaração.
Tamanho mínimo: 1
Tamanho máximo: 15
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "numeroItem")
+ @ApiModelProperty(example = "10001", value = "Número do item/adição da declaração.
Valor mínimo: 1
Valor máximo: 99999")
+ /**
+ * Número do item/adição da declaração.
Valor mínimo: 1
Valor máximo: 99999
+ **/
+ private Integer numeroItem = null;
+
+ @XmlElement(name = "chaveAcesso")
+ @ApiModelProperty(example = "23NcT000115501", value = "Chave de acesso da Duimp vinculada. Atributo previsto no json de saída para auxiliar o usuário na utilização da estrutura do json. No entanto, não é preenchido, por se tratar de um dado restrito.
Tamanho: 14
Formato: 'AALLLSSSSSSSSD'
Lei de formação:
* AA = Corresponde ao ano (2 caracteres).
* LLL = 3 letras aleatórias.
* SSSSSSSS = 8 caracteres númericos. Número sequencial da Duimp dentro do ano.
* D = (1 caracter númerico. DV para os demais caracteres numéricos (Módulo 11)")
+ /**
+ * Chave de acesso da Duimp vinculada. Atributo previsto no json de saída para auxiliar o usuário na utilização da estrutura do json. No entanto, não é preenchido, por se tratar de um dado restrito.
Tamanho: 14
Formato: 'AALLLSSSSSSSSD'
Lei de formação:
* AA = Corresponde ao ano (2 caracteres).
* LLL = 3 letras aleatórias.
* SSSSSSSS = 8 caracteres númericos. Número sequencial da Duimp dentro do ano.
* D = (1 caracter númerico. DV para os demais caracteres numéricos (Módulo 11)
+ **/
+ private String chaveAcesso = null;
+
+ /**
+ * Tipo de declaração vinculada.<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public DeclaracaoVinculadaCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Número da Declaração.<br>Tamanho mínimo: 1<br>Tamanho máximo: 15
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public DeclaracaoVinculadaCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Número do item/adição da declaração.<br>Valor mínimo: 1<br>Valor máximo: 99999
+ *
+ * @return numeroItem
+ **/
+ @JsonProperty("numeroItem")
+ public Integer getNumeroItem() {
+ return numeroItem;
+ }
+
+ public void setNumeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ }
+
+ public DeclaracaoVinculadaCover numeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ return this;
+ }
+
+ /**
+ * Chave de acesso da Duimp vinculada. Atributo previsto no json de saída para auxiliar o usuário na utilização da estrutura do json. No entanto, não é preenchido, por se tratar de um dado restrito.<br>Tamanho: 14<br>Formato: 'AALLLSSSSSSSSD'<br>Lei de formação: <br>* AA = Corresponde ao ano (2 caracteres).<br>* LLL = 3 letras aleatórias.<br>* SSSSSSSS = 8 caracteres númericos. Número sequencial da Duimp dentro do ano.<br>* D = (1 caracter númerico. DV para os demais caracteres numéricos (Módulo 11)
+ *
+ * @return chaveAcesso
+ **/
+ @JsonProperty("chaveAcesso")
+ public String getChaveAcesso() {
+ return chaveAcesso;
+ }
+
+ public void setChaveAcesso(String chaveAcesso) {
+ this.chaveAcesso = chaveAcesso;
+ }
+
+ public DeclaracaoVinculadaCover chaveAcesso(String chaveAcesso) {
+ this.chaveAcesso = chaveAcesso;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DeclaracaoVinculadaCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " numeroItem: " + toIndentedString(numeroItem) + "\n" +
+ " chaveAcesso: " + toIndentedString(chaveAcesso) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DenominacaoAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DenominacaoAcrescimoDeducaoCover.java
new file mode 100644
index 0000000..798a401
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DenominacaoAcrescimoDeducaoCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DenominacaoAcrescimoDeducaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "DenominacaoAcrescimoDeducaoCover")
+/**
+ * Denominação do acréscimo ou da dedução escolhida.
+ **/
+@ApiModel(description = "Denominação do acréscimo ou da dedução escolhida.")
+public class DenominacaoAcrescimoDeducaoCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "1", value = "Código do acréscimo ou da dedução escolhida.
Domínio: Tabela de Acréscimos/Deduções do Siscomex
Valor mínimo: 1
Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código do acréscimo ou da dedução escolhida.
Domínio: Tabela de Acréscimos/Deduções do Siscomex
Valor mínimo: 1
Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private Integer codigo = null;
+
+ /**
+ * Código do acréscimo ou da dedução escolhida.<br>Domínio: Tabela de Acréscimos/Deduções do Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public DenominacaoAcrescimoDeducaoCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DenominacaoAcrescimoDeducaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentoInstrucaoCover.java
new file mode 100644
index 0000000..935f59c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DocumentoInstrucaoCover.java
@@ -0,0 +1,106 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DocumentoInstrucaoCover", propOrder =
+ {"tipo", "palavrasChave"
+ })
+
+@XmlRootElement(name = "DocumentoInstrucaoCover")
+/**
+ * Lista de documentos instrutivos para despacho.
Origem: Sistema Anexação Eletrônica - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de documentos instrutivos para despacho.
Origem: Sistema Anexação Eletrônica - https://api-docs.portalunico.siscomex.gov.br/")
+public class DocumentoInstrucaoCover {
+
+ @XmlElement(name = "tipo", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private TipoDocumentoInstrucaoCover tipo = null;
+
+ @XmlElement(name = "palavrasChave", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private List
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido")
+ /**
+ * Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
+ **/
+ private String field = null;
+
+ @XmlElement(name = "message")
+ @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.")
+ /**
+ * Mensagem de erro.
+ **/
+ private String message = null;
+
+ /**
+ * Código interno da mensagem de erro.
+ *
+ * @return code
+ **/
+ @JsonProperty("code")
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public DuimpApiMessageCover code(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
+ *
+ * @return field
+ **/
+ @JsonProperty("field")
+ public String getField() {
+ return field;
+ }
+
+ public void setField(String field) {
+ this.field = field;
+ }
+
+ public DuimpApiMessageCover field(String field) {
+ this.field = field;
+ return this;
+ }
+
+ /**
+ * Mensagem de erro.
+ *
+ * @return message
+ **/
+ @JsonProperty("message")
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public DuimpApiMessageCover message(String message) {
+ this.message = message;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DuimpApiMessageCover {\n" +
+ " code: " + toIndentedString(code) + "\n" +
+ " field: " + toIndentedString(field) + "\n" +
+ " message: " + toIndentedString(message) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpCover.java
new file mode 100644
index 0000000..34b50bc
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/DuimpCover.java
@@ -0,0 +1,125 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DuimpCover", propOrder =
+ {"identificacao", "carga", "documentos"
+ })
+
+@XmlRootElement(name = "DuimpCover")
+/**
+ * Dados da capa da Duimp.
+ **/
+@ApiModel(description = "Dados da capa da Duimp.")
+public class DuimpCover {
+
+ @XmlElement(name = "identificacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private IdentificacaoCapaCover identificacao = null;
+
+ @XmlElement(name = "carga", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private CargaCover carga = null;
+
+ @XmlElement(name = "documentos", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private DocumentosCover documentos = null;
+
+ /**
+ * Get identificacao
+ *
+ * @return identificacao
+ **/
+ @JsonProperty("identificacao")
+ @NotNull
+ public IdentificacaoCapaCover getIdentificacao() {
+ return identificacao;
+ }
+
+ public void setIdentificacao(IdentificacaoCapaCover identificacao) {
+ this.identificacao = identificacao;
+ }
+
+ public DuimpCover identificacao(IdentificacaoCapaCover identificacao) {
+ this.identificacao = identificacao;
+ return this;
+ }
+
+ /**
+ * Get carga
+ *
+ * @return carga
+ **/
+ @JsonProperty("carga")
+ @NotNull
+ public CargaCover getCarga() {
+ return carga;
+ }
+
+ public void setCarga(CargaCover carga) {
+ this.carga = carga;
+ }
+
+ public DuimpCover carga(CargaCover carga) {
+ this.carga = carga;
+ return this;
+ }
+
+ /**
+ * Get documentos
+ *
+ * @return documentos
+ **/
+ @JsonProperty("documentos")
+ @NotNull
+ public DocumentosCover getDocumentos() {
+ return documentos;
+ }
+
+ public void setDocumentos(DocumentosCover documentos) {
+ this.documentos = documentos;
+ }
+
+ public DuimpCover documentos(DocumentosCover documentos) {
+ this.documentos = documentos;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DuimpCover {\n" +
+ " identificacao: " + toIndentedString(identificacao) + "\n" +
+ " carga: " + toIndentedString(carga) + "\n" +
+ " documentos: " + toIndentedString(documentos) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ExportadorCover.java
new file mode 100644
index 0000000..3404a64
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ExportadorCover.java
@@ -0,0 +1,157 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ExportadorCover", propOrder =
+ {"codigo", "versao", "niOperador", "pais"
+ })
+
+@XmlRootElement(name = "ExportadorCover")
+/**
+ * Dados de Operador Estrangeiro.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\".
+ **/
+@ApiModel(description = "Dados de Operador Estrangeiro.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\".")
+public class ExportadorCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35")
+ /**
+ * Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "versao", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Versão do exportador.
Tamanho mínimo: 0
Tamanho máximo: 6")
+ /**
+ * Versão do exportador.
Tamanho mínimo: 0
Tamanho máximo: 6
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "niOperador", required = true)
+ @ApiModelProperty(example = "00000000", required = true, value = "
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String niOperador = null;
+
+ @XmlElement(name = "pais", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private PaisExportadorCover pais = null;
+
+ /**
+ * Código do exportador estrangeiro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public ExportadorCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Versão do exportador.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ @NotNull
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public ExportadorCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return niOperador
+ **/
+ @JsonProperty("niOperador")
+ @NotNull
+ public String getNiOperador() {
+ return niOperador;
+ }
+
+ public void setNiOperador(String niOperador) {
+ this.niOperador = niOperador;
+ }
+
+ public ExportadorCover niOperador(String niOperador) {
+ this.niOperador = niOperador;
+ return this;
+ }
+
+ /**
+ * Get pais
+ *
+ * @return pais
+ **/
+ @JsonProperty("pais")
+ @NotNull
+ public PaisExportadorCover getPais() {
+ return pais;
+ }
+
+ public void setPais(PaisExportadorCover pais) {
+ this.pais = pais;
+ }
+
+ public ExportadorCover pais(PaisExportadorCover pais) {
+ this.pais = pais;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ExportadorCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " niOperador: " + toIndentedString(niOperador) + "\n" +
+ " pais: " + toIndentedString(pais) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FabricanteCover.java
new file mode 100644
index 0000000..5fd2267
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FabricanteCover.java
@@ -0,0 +1,152 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FabricanteCover", propOrder =
+ {"codigo", "versao", "niOperador", "pais"
+ })
+
+@XmlRootElement(name = "FabricanteCover")
+/**
+ * Dados do Fabricante/Produtor
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Dados do Fabricante/Produtor
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/")
+public class FabricanteCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "2104", value = "Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.")
+ /**
+ * Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão do fabricante.
Tamanho mínimo: 0
Tamanho máximo: 6")
+ /**
+ * Versão do fabricante.
Tamanho mínimo: 0
Tamanho máximo: 6
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "niOperador")
+ @ApiModelProperty(example = "00000000", value = "
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String niOperador = null;
+
+ @XmlElement(name = "pais")
+ @ApiModelProperty(value = "")
+ @Valid
+ private PaisFabricanteCover pais = null;
+
+ /**
+ * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public FabricanteCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Versão do fabricante.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public FabricanteCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return niOperador
+ **/
+ @JsonProperty("niOperador")
+ public String getNiOperador() {
+ return niOperador;
+ }
+
+ public void setNiOperador(String niOperador) {
+ this.niOperador = niOperador;
+ }
+
+ public FabricanteCover niOperador(String niOperador) {
+ this.niOperador = niOperador;
+ return this;
+ }
+
+ /**
+ * Get pais
+ *
+ * @return pais
+ **/
+ @JsonProperty("pais")
+ public PaisFabricanteCover getPais() {
+ return pais;
+ }
+
+ public void setPais(PaisFabricanteCover pais) {
+ this.pais = pais;
+ }
+
+ public FabricanteCover pais(PaisFabricanteCover pais) {
+ this.pais = pais;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FabricanteCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " niOperador: " + toIndentedString(niOperador) + "\n" +
+ " pais: " + toIndentedString(pais) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteCover.java
new file mode 100644
index 0000000..716baf2
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FreteCover", propOrder =
+ {"codigoMoedaNegociada", "valorMoedaNegociada"
+ })
+
+@XmlRootElement(name = "FreteCover")
+/**
+ * Dados do Frete.
Para Duimp com tipo de identificação de carga RUC e tipo de conhecimento DSIC (sem desdobro), o valor de frete pode ser informado pelo importador.
+ **/
+@ApiModel(description = "Dados do Frete.
Para Duimp com tipo de identificação de carga RUC e tipo de conhecimento DSIC (sem desdobro), o valor de frete pode ser informado pelo importador.")
+public class FreteCover {
+
+ @XmlElement(name = "codigoMoedaNegociada")
+ @ApiModelProperty(example = "USD", value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigoMoedaNegociada = null;
+
+ @XmlElement(name = "valorMoedaNegociada")
+ @ApiModelProperty(example = "30.12", value = "Valor do frete na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor do frete na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double valorMoedaNegociada = null;
+
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigoMoedaNegociada
+ **/
+ @JsonProperty("codigoMoedaNegociada")
+ public String getCodigoMoedaNegociada() {
+ return codigoMoedaNegociada;
+ }
+
+ public void setCodigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ }
+
+ public FreteCover codigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ return this;
+ }
+
+ /**
+ * Valor do frete na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valorMoedaNegociada
+ **/
+ @JsonProperty("valorMoedaNegociada")
+ public Double getValorMoedaNegociada() {
+ return valorMoedaNegociada;
+ }
+
+ public void setValorMoedaNegociada(Double valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ }
+
+ public FreteCover valorMoedaNegociada(Double valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FreteCover {\n" +
+ " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" +
+ " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosDuimpCover.java
new file mode 100644
index 0000000..9b150c5
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosDuimpCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FreteValoresCalculadosDuimpCover", propOrder =
+ {"valorTotalBRL"
+ })
+
+@XmlRootElement(name = "FreteValoresCalculadosDuimpCover")
+/**
+ * Dados do frete.
+ **/
+@ApiModel(description = "Dados do frete.")
+public class FreteValoresCalculadosDuimpCover {
+
+ @XmlElement(name = "valorTotalBRL")
+ @ApiModelProperty(example = "40.48", value = "Valor do frete total em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
Observação:
Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte")
+ /**
+ * Valor do frete total em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
Observação:
Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte
+ **/
+ private Double valorTotalBRL = null;
+
+ /**
+ * Valor do frete total em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.<br>Observação:<br>Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte
+ *
+ * @return valorTotalBRL
+ **/
+ @JsonProperty("valorTotalBRL")
+ public Double getValorTotalBRL() {
+ return valorTotalBRL;
+ }
+
+ public void setValorTotalBRL(Double valorTotalBRL) {
+ this.valorTotalBRL = valorTotalBRL;
+ }
+
+ public FreteValoresCalculadosDuimpCover valorTotalBRL(Double valorTotalBRL) {
+ this.valorTotalBRL = valorTotalBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FreteValoresCalculadosDuimpCover {\n" +
+ " valorTotalBRL: " + toIndentedString(valorTotalBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosItemCover.java
new file mode 100644
index 0000000..17bfce3
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FreteValoresCalculadosItemCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FreteValoresCalculadosItemCover", propOrder =
+ {"valorBRL"
+ })
+
+@XmlRootElement(name = "FreteValoresCalculadosItemCover")
+/**
+ * Valor do Frete.
+ **/
+@ApiModel(description = "Valor do Frete.")
+public class FreteValoresCalculadosItemCover {
+
+ @XmlElement(name = "valorBRL")
+ @ApiModelProperty(example = "12.4", value = "Valor do frete total em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do frete total em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorBRL = null;
+
+ /**
+ * Valor do frete total em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorBRL
+ **/
+ @JsonProperty("valorBRL")
+ public Double getValorBRL() {
+ return valorBRL;
+ }
+
+ public void setValorBRL(Double valorBRL) {
+ this.valorBRL = valorBRL;
+ }
+
+ public FreteValoresCalculadosItemCover valorBRL(Double valorBRL) {
+ this.valorBRL = valorBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FreteValoresCalculadosItemCover {\n" +
+ " valorBRL: " + toIndentedString(valorBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FundamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FundamentoCover.java
new file mode 100644
index 0000000..8ec011d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/FundamentoCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FundamentoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "FundamentoCover")
+/**
+ * Fundamento legal do regime tributário de importação.
+ **/
+@ApiModel(description = "Fundamento legal do regime tributário de importação.")
+public class FundamentoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "1001", required = true, value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.")
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ **/
+ private Integer codigo = null;
+
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public FundamentoCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FundamentoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoCapaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoCapaCover.java
new file mode 100644
index 0000000..05e6ea1
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoCapaCover.java
@@ -0,0 +1,100 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificacaoCapaCover", propOrder =
+ {"importador", "informacaoComplementar"
+ })
+
+@XmlRootElement(name = "IdentificacaoCapaCover")
+/**
+ * Dados da identificação da declaração única de importação.
+ **/
+@ApiModel(description = "Dados da identificação da declaração única de importação.")
+public class IdentificacaoCapaCover {
+
+ @XmlElement(name = "importador", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private ImportadorCover importador = null;
+
+ @XmlElement(name = "informacaoComplementar")
+ @ApiModelProperty(example = "Texto complementando informações sobre a Duimp.", value = "Descrição complementar da Duimp.
Tamanho mínimo: 0
Tamanho máximo: 7800")
+ /**
+ * Descrição complementar da Duimp.
Tamanho mínimo: 0
Tamanho máximo: 7800
+ **/
+ private String informacaoComplementar = null;
+
+ /**
+ * Get importador
+ *
+ * @return importador
+ **/
+ @JsonProperty("importador")
+ @NotNull
+ public ImportadorCover getImportador() {
+ return importador;
+ }
+
+ public void setImportador(ImportadorCover importador) {
+ this.importador = importador;
+ }
+
+ public IdentificacaoCapaCover importador(ImportadorCover importador) {
+ this.importador = importador;
+ return this;
+ }
+
+ /**
+ * Descrição complementar da Duimp.<br>Tamanho mínimo: 0<br>Tamanho máximo: 7800
+ *
+ * @return informacaoComplementar
+ **/
+ @JsonProperty("informacaoComplementar")
+ public String getInformacaoComplementar() {
+ return informacaoComplementar;
+ }
+
+ public void setInformacaoComplementar(String informacaoComplementar) {
+ this.informacaoComplementar = informacaoComplementar;
+ }
+
+ public IdentificacaoCapaCover informacaoComplementar(String informacaoComplementar) {
+ this.informacaoComplementar = informacaoComplementar;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificacaoCapaCover {\n" +
+ " importador: " + toIndentedString(importador) + "\n" +
+ " informacaoComplementar: " + toIndentedString(informacaoComplementar) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoDuimpRespostaApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoDuimpRespostaApi.java
new file mode 100644
index 0000000..c9f3c71
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoDuimpRespostaApi.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificacaoDuimpRespostaApi", propOrder =
+ {"numero", "versao"
+ })
+
+@XmlRootElement(name = "IdentificacaoDuimpRespostaApi")
+/**
+ * Dados da identificação da Duimp criada, retificada ou atualizada.
Atributos devolvidos apenas na resposta aos métodos POST e PUT.
+ **/
+@ApiModel(description = "Dados da identificação da Duimp criada, retificada ou atualizada.
Atributos devolvidos apenas na resposta aos métodos POST e PUT.")
+public class IdentificacaoDuimpRespostaApi {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "20BR00000012345", value = "Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)")
+ /**
+ * Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999")
+ /**
+ * Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999
+ **/
+ private String versao = null;
+
+ /**
+ * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public IdentificacaoDuimpRespostaApi numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public IdentificacaoDuimpRespostaApi versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificacaoDuimpRespostaApi {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoItemCover.java
new file mode 100644
index 0000000..db42d64
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificacaoItemCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificacaoItemCover", propOrder =
+ {"numeroItem"
+ })
+
+@XmlRootElement(name = "IdentificacaoItemCover")
+/**
+ * Dados da identificação da declaração única de importação.
+ **/
+@ApiModel(description = "Dados da identificação da declaração única de importação.")
+public class IdentificacaoItemCover {
+
+ @XmlElement(name = "numeroItem", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos")
+ /**
+ * Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos
+ **/
+ private Integer numeroItem = null;
+
+ /**
+ * Número do item da Duimp.<br>Formato: Inteiro, com até 5 dígitos
+ *
+ * @return numeroItem
+ **/
+ @JsonProperty("numeroItem")
+ @NotNull
+ public Integer getNumeroItem() {
+ return numeroItem;
+ }
+
+ public void setNumeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ }
+
+ public IdentificacaoItemCover numeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificacaoItemCover {\n" +
+ " numeroItem: " + toIndentedString(numeroItem) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorDuimpCover.java
new file mode 100644
index 0000000..4ad8b09
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorDuimpCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificadorDuimpCover", propOrder =
+ {"numero", "versao"
+ })
+
+@XmlRootElement(name = "IdentificadorDuimpCover")
+/**
+ * Dados da identificação da declaração única de importação.
+ **/
+@ApiModel(description = "Dados da identificação da declaração única de importação.")
+public class IdentificadorDuimpCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "19BR00000004677", value = "Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)")
+ /**
+ * Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999")
+ /**
+ * Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999
+ **/
+ private String versao = null;
+
+ /**
+ * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public IdentificadorDuimpCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public IdentificadorDuimpCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificadorDuimpCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorItemDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorItemDuimpCover.java
new file mode 100644
index 0000000..4b78e7b
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IdentificadorItemDuimpCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificadorItemDuimpCover", propOrder =
+ {"numero", "versao", "numeroItem"
+ })
+
+@XmlRootElement(name = "IdentificadorItemDuimpCover")
+/**
+ * Dados da identificação da declaração única de importação.
+ **/
+@ApiModel(description = "Dados da identificação da declaração única de importação.")
+public class IdentificadorItemDuimpCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "19BR00000004677", value = "Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)")
+ /**
+ * Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999")
+ /**
+ * Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "numeroItem")
+ @ApiModelProperty(example = "1", value = "Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos")
+ /**
+ * Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos
+ **/
+ private Integer numeroItem = null;
+
+ /**
+ * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public IdentificadorItemDuimpCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public IdentificadorItemDuimpCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * Número do item da Duimp.<br>Formato: Inteiro, com até 5 dígitos
+ *
+ * @return numeroItem
+ **/
+ @JsonProperty("numeroItem")
+ public Integer getNumeroItem() {
+ return numeroItem;
+ }
+
+ public void setNumeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ }
+
+ public IdentificadorItemDuimpCover numeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificadorItemDuimpCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " numeroItem: " + toIndentedString(numeroItem) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ImportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ImportadorCover.java
new file mode 100644
index 0000000..35b8919
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ImportadorCover.java
@@ -0,0 +1,145 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ImportadorCover", propOrder =
+ {"tipoImportador", "ni"
+ })
+
+@XmlRootElement(name = "ImportadorCover")
+/**
+ * Identificação do importador da declaração única de importação.
+ **/
+@ApiModel(description = "Identificação do importador da declaração única de importação.")
+public class ImportadorCover {
+
+
+ @XmlType(name = "TipoImportadorEnum")
+ @XmlEnum(String.class)
+ public enum TipoImportadorEnum {
+
+ @XmlEnumValue("CNPJ")
+ @JsonProperty("CNPJ")
+ CNPJ("CNPJ"),
+
+ @XmlEnumValue("CPF")
+ @JsonProperty("CPF")
+ CPF("CPF");
+
+
+ private final String value;
+
+ TipoImportadorEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoImportadorEnum fromValue(String v) {
+ for (TipoImportadorEnum b : TipoImportadorEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoImportadorEnum");
+ }
+ }
+
+ @XmlElement(name = "tipoImportador")
+ @ApiModelProperty(example = "CNPJ", value = "Descreve se o Importador é do tipo CPF ou CNPJ")
+ /**
+ * Descreve se o Importador é do tipo CPF ou CNPJ
+ **/
+ private TipoImportadorEnum tipoImportador = null;
+
+ @XmlElement(name = "ni", required = true)
+ @ApiModelProperty(example = "00055555000130", required = true, value = "
Número do Importador:
Caso seja CNPJ:
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número do Importador:
Caso seja CNPJ:
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String ni = null;
+
+ /**
+ * Descreve se o Importador é do tipo CPF ou CNPJ
+ *
+ * @return tipoImportador
+ **/
+ @JsonProperty("tipoImportador")
+ public String getTipoImportador() {
+ if (tipoImportador == null) {
+ return null;
+ }
+ return tipoImportador.value();
+ }
+
+ public void setTipoImportador(TipoImportadorEnum tipoImportador) {
+ this.tipoImportador = tipoImportador;
+ }
+
+ public ImportadorCover tipoImportador(TipoImportadorEnum tipoImportador) {
+ this.tipoImportador = tipoImportador;
+ return this;
+ }
+
+ /**
+ * <br>Número do Importador: <br>Caso seja CNPJ: <br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return ni
+ **/
+ @JsonProperty("ni")
+ @NotNull
+ public String getNi() {
+ return ni;
+ }
+
+ public void setNi(String ni) {
+ this.ni = ni;
+ }
+
+ public ImportadorCover ni(String ni) {
+ this.ni = ni;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ImportadorCover {\n" +
+ " tipoImportador: " + toIndentedString(tipoImportador) + "\n" +
+ " ni: " + toIndentedString(ni) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IncotermCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IncotermCover.java
new file mode 100644
index 0000000..1243299
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IncotermCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IncotermCover", propOrder =
+ {"codigo", "complemento"
+ })
+
+@XmlRootElement(name = "IncotermCover")
+/**
+ * Condição de Venda
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'.
+ **/
+@ApiModel(description = "Condição de Venda
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'.")
+public class IncotermCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "FOB", value = "Código da Condição de Venda (Código INCOTERM).
Tamanho: 3
Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP")
+ /**
+ * Código da Condição de Venda (Código INCOTERM).
Tamanho: 3
Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "complemento")
+ @ApiModelProperty(example = "1", value = "Descrição complementar da condição de venda.
Tamanho mínimo: 0
Tamanho máximo: 250")
+ /**
+ * Descrição complementar da condição de venda.
Tamanho mínimo: 0
Tamanho máximo: 250
+ **/
+ private String complemento = null;
+
+ /**
+ * Código da Condição de Venda (Código INCOTERM).<br>Tamanho: 3<br>Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public IncotermCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Descrição complementar da condição de venda.<br>Tamanho mínimo: 0<br>Tamanho máximo: 250
+ *
+ * @return complemento
+ **/
+ @JsonProperty("complemento")
+ public String getComplemento() {
+ return complemento;
+ }
+
+ public void setComplemento(String complemento) {
+ this.complemento = complemento;
+ }
+
+ public IncotermCover complemento(String complemento) {
+ this.complemento = complemento;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IncotermCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " complemento: " + toIndentedString(complemento) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorCompradorVendedorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorCompradorVendedorCover.java
new file mode 100644
index 0000000..0012f53
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorCompradorVendedorCover.java
@@ -0,0 +1,122 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IndicadorCompradorVendedorCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "IndicadorCompradorVendedorCover")
+/**
+ * Vinculação comprador x vendedor.
+ **/
+@ApiModel(description = "Vinculação comprador x vendedor.")
+public class IndicadorCompradorVendedorCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("NAO_HA_VINCULACAO")
+ @JsonProperty("NAO_HA_VINCULACAO")
+ NAO_HA_VINCULACAO("NAO_HA_VINCULACAO"),
+
+ @XmlEnumValue("VINCULACAO_SEM_INFLUENCIA_PRECO")
+ @JsonProperty("VINCULACAO_SEM_INFLUENCIA_PRECO")
+ VINCULACAO_SEM_INFLUENCIA_PRECO("VINCULACAO_SEM_INFLUENCIA_PRECO"),
+
+ @XmlEnumValue("VINCULACAO_COM_INFLUENCIA_PRECO")
+ @JsonProperty("VINCULACAO_COM_INFLUENCIA_PRECO")
+ VINCULACAO_COM_INFLUENCIA_PRECO("VINCULACAO_COM_INFLUENCIA_PRECO");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "NAO_HA_VINCULACAO", required = true, value = "Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
Domínio:")
+ /**
+ * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public IndicadorCompradorVendedorCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IndicadorCompradorVendedorCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorExportadorFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorExportadorFabricanteCover.java
new file mode 100644
index 0000000..af1d0ad
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/IndicadorExportadorFabricanteCover.java
@@ -0,0 +1,118 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IndicadorExportadorFabricanteCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "IndicadorExportadorFabricanteCover")
+/**
+ * Relação exportador x fabricante.
+ **/
+@ApiModel(description = "Relação exportador x fabricante.")
+public class IndicadorExportadorFabricanteCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("EXPORTADOR_DIFERENTE_FABRICANTE")
+ @JsonProperty("EXPORTADOR_DIFERENTE_FABRICANTE")
+ DIFERENTE_FABRICANTE("EXPORTADOR_DIFERENTE_FABRICANTE"),
+
+ @XmlEnumValue("EXPORTADOR_IGUAL_FABRICANTE")
+ @JsonProperty("EXPORTADOR_IGUAL_FABRICANTE")
+ IGUAL_FABRICANTE("EXPORTADOR_IGUAL_FABRICANTE");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "EXPORTADOR_DIFERENTE_FABRICANTE", required = true, value = "Código da relação exportador x fabricante.
Domínio:")
+ /**
+ * Código da relação exportador x fabricante.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Código da relação exportador x fabricante.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public IndicadorExportadorFabricanteCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IndicadorExportadorFabricanteCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/InstituicaoFinanciadoraCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/InstituicaoFinanciadoraCover.java
new file mode 100644
index 0000000..621f356
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/InstituicaoFinanciadoraCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InstituicaoFinanciadoraCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "InstituicaoFinanciadoraCover")
+/**
+ * Instituição financiadora.
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.
+ **/
+@ApiModel(description = "Instituição financiadora.
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.")
+public class InstituicaoFinanciadoraCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "99", value = "Código da instituição financiadora.
Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99")
+ /**
+ * Código da instituição financiadora.
Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99
+ **/
+ private Integer codigo = null;
+
+ /**
+ * Código da instituição financiadora.<br>Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public InstituicaoFinanciadoraCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class InstituicaoFinanciadoraCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemCover.java
new file mode 100644
index 0000000..8316af4
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemCover.java
@@ -0,0 +1,486 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ItemCover", propOrder =
+ {"identificacao", "produto", "caracterizacaoImportacao", "indicadorExportadorFabricante", "fabricante", "exportador", "indicadorCompradorVendedor", "mercadoria", "condicaoVenda", "lpcos", "certificadoMercosul", "declaracoesVinculadas", "dadosCambiais", "atributosDuimp", "atributosFundamentoLegalDuimp", "tributos"
+ })
+
+@XmlRootElement(name = "ItemCover")
+/**
+ * Dados do item da Duimp.
+ **/
+@ApiModel(description = "Dados do item da Duimp.")
+public class ItemCover {
+
+ @XmlElement(name = "identificacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private IdentificacaoItemCover identificacao = null;
+
+ @XmlElement(name = "produto", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private ProdutoCover produto = null;
+
+ @XmlElement(name = "caracterizacaoImportacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private CaracterizacaoImportacaoCover caracterizacaoImportacao = null;
+
+ @XmlElement(name = "indicadorExportadorFabricante", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private IndicadorExportadorFabricanteCover indicadorExportadorFabricante = null;
+
+ @XmlElement(name = "fabricante", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private FabricanteCover fabricante = null;
+
+ @XmlElement(name = "exportador", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private ExportadorCover exportador = null;
+
+ @XmlElement(name = "indicadorCompradorVendedor", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private IndicadorCompradorVendedorCover indicadorCompradorVendedor = null;
+
+ @XmlElement(name = "mercadoria")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MercadoriaCover mercadoria = null;
+
+ @XmlElement(name = "condicaoVenda")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CondicaoVendaCover condicaoVenda = null;
+
+ @XmlElement(name = "lpcos")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor do frete em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double valor = null;
+
+ /**
+ * Valor do frete em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ @NotNull
+ public Double getValor() {
+ return valor;
+ }
+
+ public void setValor(Double valor) {
+ this.valor = valor;
+ }
+
+ public ItemFreteCover valor(Double valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ItemFreteCover {\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemSeguroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemSeguroCover.java
new file mode 100644
index 0000000..690bffe
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ItemSeguroCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ItemSeguroCover", propOrder =
+ {"valor"
+ })
+
+@XmlRootElement(name = "ItemSeguroCover")
+/**
+ * Dados do seguro declarado.
+ **/
+@ApiModel(description = "Dados do seguro declarado.")
+public class ItemSeguroCover {
+
+ @XmlElement(name = "valor", required = true)
+ @ApiModelProperty(example = "100.02", required = true, value = "Valor do seguro em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor do seguro em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double valor = null;
+
+ /**
+ * Valor do seguro em real de Duimp de situação especial de despacho, cujo motivo (da situação especial de despacho) possui o atributo 'Cálculo do frete e seguro' preenchido com o valor '2' (Declarado pelo importador), na tabela 'Tabela Motivo da Situação Especial da Duimp' do sistema TABX.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ @NotNull
+ public Double getValor() {
+ return valor;
+ }
+
+ public void setValor(Double valor) {
+ this.valor = valor;
+ }
+
+ public ItemSeguroCover valor(Double valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ItemSeguroCover {\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/LpcoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/LpcoCover.java
new file mode 100644
index 0000000..9799ef3
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/LpcoCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LpcoCover", propOrder =
+ {"numero"
+ })
+
+@XmlRootElement(name = "LpcoCover")
+/**
+ * Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/")
+public class LpcoCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "I2000000063", value = "Número do um LPCO.
Tamanho: 11
Formato: 'OAANNNNNNNN'
Lei de formação. O número do LPCO é composto por:
* O = Operação (E para exportação, I para importação).
* AA = Ano do registro do LPCO.
* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.")
+ /**
+ * Número do um LPCO.
Tamanho: 11
Formato: 'OAANNNNNNNN'
Lei de formação. O número do LPCO é composto por:
* O = Operação (E para exportação, I para importação).
* AA = Ano do registro do LPCO.
* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.
+ **/
+ private String numero = null;
+
+ /**
+ * Número do um LPCO.<br>Tamanho: 11<br>Formato: 'OAANNNNNNNN'<br>Lei de formação. O número do LPCO é composto por: <br>* O = Operação (E para exportação, I para importação).<br>* AA = Ano do registro do LPCO.<br>* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public LpcoCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class LpcoCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MemoriaCalculoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MemoriaCalculoItemCover.java
new file mode 100644
index 0000000..61d1240
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MemoriaCalculoItemCover.java
@@ -0,0 +1,440 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MemoriaCalculoItemCover", propOrder =
+ {"codigoFundamentoLegalNormal", "baseCalculoBRL", "baseCalculoEspecificaBRL", "baseCalculoReduzidaBRL", "percentualReducaoBaseCalculo", "tipoAliquota", "percentualReducaoAliquotaReduzida", "valorAliquota", "valorAliquotaEspecifica", "valorAliquotaReduzida", "normal", "tributado", "percentualPagamento"
+ })
+
+@XmlRootElement(name = "MemoriaCalculoItemCover")
+/**
+ * Memória de cálculo por tipo de imposto.
+ **/
+@ApiModel(description = "Memória de cálculo por tipo de imposto.")
+public class MemoriaCalculoItemCover {
+
+ @XmlElement(name = "codigoFundamentoLegalNormal")
+ @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.")
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ **/
+ private Integer codigoFundamentoLegalNormal = null;
+
+ @XmlElement(name = "baseCalculoBRL")
+ @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor da base de cálculo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double baseCalculoBRL = null;
+
+ @XmlElement(name = "baseCalculoEspecificaBRL")
+ @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo específica em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor da base de cálculo específica em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double baseCalculoEspecificaBRL = null;
+
+ @XmlElement(name = "baseCalculoReduzidaBRL")
+ @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo reduzida em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor da base de cálculo reduzida em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double baseCalculoReduzidaBRL = null;
+
+ @XmlElement(name = "percentualReducaoBaseCalculo")
+ @ApiModelProperty(example = "4567.8", value = "Percentual de redução da base de cálculo.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Percentual de redução da base de cálculo.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private Double percentualReducaoBaseCalculo = null;
+
+
+ @XmlType(name = "TipoAliquotaEnum")
+ @XmlEnum(String.class)
+ public enum TipoAliquotaEnum {
+
+ @XmlEnumValue("AD_VALOREM")
+ @JsonProperty("AD_VALOREM")
+ AD_VALOREM("AD_VALOREM"),
+
+ @XmlEnumValue("ESPECIFICA")
+ @JsonProperty("ESPECIFICA")
+ ESPECIFICA("ESPECIFICA");
+
+
+ private final String value;
+
+ TipoAliquotaEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoAliquotaEnum fromValue(String v) {
+ for (TipoAliquotaEnum b : TipoAliquotaEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoAliquotaEnum");
+ }
+ }
+
+ @XmlElement(name = "tipoAliquota")
+ @ApiModelProperty(example = "AD_VALOREM", value = "Tipo de alíquota do tributo.
Domínio:")
+ /**
+ * Tipo de alíquota do tributo.
Domínio:
+ **/
+ private TipoAliquotaEnum tipoAliquota = null;
+
+ @XmlElement(name = "percentualReducaoAliquotaReduzida")
+ @ApiModelProperty(example = "4227.8", value = "Percentual de redução da alíquota reduzida (%).
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Percentual de redução da alíquota reduzida (%).
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private Double percentualReducaoAliquotaReduzida = null;
+
+ @XmlElement(name = "valorAliquota")
+ @ApiModelProperty(example = "4227.8", value = "Valor da alíquota (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor da alíquota (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorAliquota = null;
+
+ @XmlElement(name = "valorAliquotaEspecifica")
+ @ApiModelProperty(example = "4227.8", value = "Valor da alíquota específica (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor da alíquota específica (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorAliquotaEspecifica = null;
+
+ @XmlElement(name = "valorAliquotaReduzida")
+ @ApiModelProperty(example = "4227.8", value = "Valor da alíquota reduzida (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor da alíquota reduzida (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorAliquotaReduzida = null;
+
+ @XmlElement(name = "normal")
+ @ApiModelProperty(example = "4227.8", value = "Valor normal em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor normal em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double normal = null;
+
+ @XmlElement(name = "tributado")
+ @ApiModelProperty(example = "true", value = "Indicador de tributação.")
+ /**
+ * Indicador de tributação.
+ **/
+ private Boolean tributado = null;
+
+ @XmlElement(name = "percentualPagamento")
+ @ApiModelProperty(example = "4227.8", value = "Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double percentualPagamento = null;
+
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ *
+ * @return codigoFundamentoLegalNormal
+ **/
+ @JsonProperty("codigoFundamentoLegalNormal")
+ public Integer getCodigoFundamentoLegalNormal() {
+ return codigoFundamentoLegalNormal;
+ }
+
+ public void setCodigoFundamentoLegalNormal(Integer codigoFundamentoLegalNormal) {
+ this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal;
+ }
+
+ public MemoriaCalculoItemCover codigoFundamentoLegalNormal(Integer codigoFundamentoLegalNormal) {
+ this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal;
+ return this;
+ }
+
+ /**
+ * Valor da base de cálculo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return baseCalculoBRL
+ **/
+ @JsonProperty("baseCalculoBRL")
+ public Double getBaseCalculoBRL() {
+ return baseCalculoBRL;
+ }
+
+ public void setBaseCalculoBRL(Double baseCalculoBRL) {
+ this.baseCalculoBRL = baseCalculoBRL;
+ }
+
+ public MemoriaCalculoItemCover baseCalculoBRL(Double baseCalculoBRL) {
+ this.baseCalculoBRL = baseCalculoBRL;
+ return this;
+ }
+
+ /**
+ * Valor da base de cálculo específica em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return baseCalculoEspecificaBRL
+ **/
+ @JsonProperty("baseCalculoEspecificaBRL")
+ public Double getBaseCalculoEspecificaBRL() {
+ return baseCalculoEspecificaBRL;
+ }
+
+ public void setBaseCalculoEspecificaBRL(Double baseCalculoEspecificaBRL) {
+ this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL;
+ }
+
+ public MemoriaCalculoItemCover baseCalculoEspecificaBRL(Double baseCalculoEspecificaBRL) {
+ this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL;
+ return this;
+ }
+
+ /**
+ * Valor da base de cálculo reduzida em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return baseCalculoReduzidaBRL
+ **/
+ @JsonProperty("baseCalculoReduzidaBRL")
+ public Double getBaseCalculoReduzidaBRL() {
+ return baseCalculoReduzidaBRL;
+ }
+
+ public void setBaseCalculoReduzidaBRL(Double baseCalculoReduzidaBRL) {
+ this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL;
+ }
+
+ public MemoriaCalculoItemCover baseCalculoReduzidaBRL(Double baseCalculoReduzidaBRL) {
+ this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL;
+ return this;
+ }
+
+ /**
+ * Percentual de redução da base de cálculo.<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return percentualReducaoBaseCalculo
+ **/
+ @JsonProperty("percentualReducaoBaseCalculo")
+ public Double getPercentualReducaoBaseCalculo() {
+ return percentualReducaoBaseCalculo;
+ }
+
+ public void setPercentualReducaoBaseCalculo(Double percentualReducaoBaseCalculo) {
+ this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo;
+ }
+
+ public MemoriaCalculoItemCover percentualReducaoBaseCalculo(Double percentualReducaoBaseCalculo) {
+ this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo;
+ return this;
+ }
+
+ /**
+ * Tipo de alíquota do tributo.<br>Domínio:
+ *
+ * @return tipoAliquota
+ **/
+ @JsonProperty("tipoAliquota")
+ public String getTipoAliquota() {
+ if (tipoAliquota == null) {
+ return null;
+ }
+ return tipoAliquota.value();
+ }
+
+ public void setTipoAliquota(TipoAliquotaEnum tipoAliquota) {
+ this.tipoAliquota = tipoAliquota;
+ }
+
+ public MemoriaCalculoItemCover tipoAliquota(TipoAliquotaEnum tipoAliquota) {
+ this.tipoAliquota = tipoAliquota;
+ return this;
+ }
+
+ /**
+ * Percentual de redução da alíquota reduzida (%).<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return percentualReducaoAliquotaReduzida
+ **/
+ @JsonProperty("percentualReducaoAliquotaReduzida")
+ public Double getPercentualReducaoAliquotaReduzida() {
+ return percentualReducaoAliquotaReduzida;
+ }
+
+ public void setPercentualReducaoAliquotaReduzida(Double percentualReducaoAliquotaReduzida) {
+ this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida;
+ }
+
+ public MemoriaCalculoItemCover percentualReducaoAliquotaReduzida(Double percentualReducaoAliquotaReduzida) {
+ this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida;
+ return this;
+ }
+
+ /**
+ * Valor da alíquota (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAliquota
+ **/
+ @JsonProperty("valorAliquota")
+ public Double getValorAliquota() {
+ return valorAliquota;
+ }
+
+ public void setValorAliquota(Double valorAliquota) {
+ this.valorAliquota = valorAliquota;
+ }
+
+ public MemoriaCalculoItemCover valorAliquota(Double valorAliquota) {
+ this.valorAliquota = valorAliquota;
+ return this;
+ }
+
+ /**
+ * Valor da alíquota específica (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAliquotaEspecifica
+ **/
+ @JsonProperty("valorAliquotaEspecifica")
+ public Double getValorAliquotaEspecifica() {
+ return valorAliquotaEspecifica;
+ }
+
+ public void setValorAliquotaEspecifica(Double valorAliquotaEspecifica) {
+ this.valorAliquotaEspecifica = valorAliquotaEspecifica;
+ }
+
+ public MemoriaCalculoItemCover valorAliquotaEspecifica(Double valorAliquotaEspecifica) {
+ this.valorAliquotaEspecifica = valorAliquotaEspecifica;
+ return this;
+ }
+
+ /**
+ * Valor da alíquota reduzida (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAliquotaReduzida
+ **/
+ @JsonProperty("valorAliquotaReduzida")
+ public Double getValorAliquotaReduzida() {
+ return valorAliquotaReduzida;
+ }
+
+ public void setValorAliquotaReduzida(Double valorAliquotaReduzida) {
+ this.valorAliquotaReduzida = valorAliquotaReduzida;
+ }
+
+ public MemoriaCalculoItemCover valorAliquotaReduzida(Double valorAliquotaReduzida) {
+ this.valorAliquotaReduzida = valorAliquotaReduzida;
+ return this;
+ }
+
+ /**
+ * Valor normal em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return normal
+ **/
+ @JsonProperty("normal")
+ public Double getNormal() {
+ return normal;
+ }
+
+ public void setNormal(Double normal) {
+ this.normal = normal;
+ }
+
+ public MemoriaCalculoItemCover normal(Double normal) {
+ this.normal = normal;
+ return this;
+ }
+
+ /**
+ * Indicador de tributação.
+ *
+ * @return tributado
+ **/
+ @JsonProperty("tributado")
+ public Boolean isTributado() {
+ return tributado;
+ }
+
+ public void setTributado(Boolean tributado) {
+ this.tributado = tributado;
+ }
+
+ public MemoriaCalculoItemCover tributado(Boolean tributado) {
+ this.tributado = tributado;
+ return this;
+ }
+
+ /**
+ * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return percentualPagamento
+ **/
+ @JsonProperty("percentualPagamento")
+ public Double getPercentualPagamento() {
+ return percentualPagamento;
+ }
+
+ public void setPercentualPagamento(Double percentualPagamento) {
+ this.percentualPagamento = percentualPagamento;
+ }
+
+ public MemoriaCalculoItemCover percentualPagamento(Double percentualPagamento) {
+ this.percentualPagamento = percentualPagamento;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MemoriaCalculoItemCover {\n" +
+ " codigoFundamentoLegalNormal: " + toIndentedString(codigoFundamentoLegalNormal) + "\n" +
+ " baseCalculoBRL: " + toIndentedString(baseCalculoBRL) + "\n" +
+ " baseCalculoEspecificaBRL: " + toIndentedString(baseCalculoEspecificaBRL) + "\n" +
+ " baseCalculoReduzidaBRL: " + toIndentedString(baseCalculoReduzidaBRL) + "\n" +
+ " percentualReducaoBaseCalculo: " + toIndentedString(percentualReducaoBaseCalculo) + "\n" +
+ " tipoAliquota: " + toIndentedString(tipoAliquota) + "\n" +
+ " percentualReducaoAliquotaReduzida: " + toIndentedString(percentualReducaoAliquotaReduzida) + "\n" +
+ " valorAliquota: " + toIndentedString(valorAliquota) + "\n" +
+ " valorAliquotaEspecifica: " + toIndentedString(valorAliquotaEspecifica) + "\n" +
+ " valorAliquotaReduzida: " + toIndentedString(valorAliquotaReduzida) + "\n" +
+ " normal: " + toIndentedString(normal) + "\n" +
+ " tributado: " + toIndentedString(tributado) + "\n" +
+ " percentualPagamento: " + toIndentedString(percentualPagamento) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaCover.java
new file mode 100644
index 0000000..5d012ba
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaCover.java
@@ -0,0 +1,338 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MercadoriaCover", propOrder =
+ {"tipoAplicacao", "condicao", "unidadeComercial", "quantidadeComercial", "quantidadeMedidaEstatistica", "pesoLiquido", "moedaNegociada", "valorUnitarioMoedaNegociada", "descricao"
+ })
+
+@XmlRootElement(name = "MercadoriaCover")
+/**
+ * Dados da Mercadoria.
+ **/
+@ApiModel(description = "Dados da Mercadoria.")
+public class MercadoriaCover {
+
+ @XmlElement(name = "tipoAplicacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private TipoAplicacaoCover tipoAplicacao = null;
+
+
+ @XmlType(name = "CondicaoEnum")
+ @XmlEnum(String.class)
+ public enum CondicaoEnum {
+
+ @XmlEnumValue("NOVA")
+ @JsonProperty("NOVA")
+ NOVA("NOVA"),
+
+ @XmlEnumValue("USADA")
+ @JsonProperty("USADA")
+ USADA("USADA");
+
+
+ private final String value;
+
+ CondicaoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CondicaoEnum fromValue(String v) {
+ for (CondicaoEnum b : CondicaoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CondicaoEnum");
+ }
+ }
+
+ @XmlElement(name = "condicao", required = true)
+ @ApiModelProperty(example = "NOVA", required = true, value = "Indica se a mercadoria é nova ou usada.
Domínio:")
+ /**
+ * Indica se a mercadoria é nova ou usada.
Domínio:
+ **/
+ private CondicaoEnum condicao = null;
+
+ @XmlElement(name = "unidadeComercial", required = true)
+ @ApiModelProperty(example = "SACAS", required = true, value = "Unidade de medida utilizada na comercialização da mercadoria.
Tamanho mínimo: 1
Tamanho máximo: 20")
+ /**
+ * Unidade de medida utilizada na comercialização da mercadoria.
Tamanho mínimo: 1
Tamanho máximo: 20
+ **/
+ private String unidadeComercial = null;
+
+ @XmlElement(name = "quantidadeComercial", required = true)
+ @ApiModelProperty(example = "100.5", required = true, value = "Quantidade da mercadoria na unidade de medida comercial.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Quantidade da mercadoria na unidade de medida comercial.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private Double quantidadeComercial = null;
+
+ @XmlElement(name = "quantidadeMedidaEstatistica", required = true)
+ @ApiModelProperty(example = "12.12345", required = true, value = "Quantidade na unidade de medida estatística associada à NCM do produto.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Quantidade na unidade de medida estatística associada à NCM do produto.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private Double quantidadeMedidaEstatistica = null;
+
+ @XmlElement(name = "pesoLiquido", required = true)
+ @ApiModelProperty(example = "100.0", required = true, value = "Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private Double pesoLiquido = null;
+
+ @XmlElement(name = "moedaNegociada", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private MoedaNegociadaCover moedaNegociada = null;
+
+ @XmlElement(name = "valorUnitarioMoedaNegociada", required = true)
+ @ApiModelProperty(example = "10.0", required = true, value = "Valor unitário da mercadoria na condição de venda.
Tamanho: 13,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor unitário da mercadoria na condição de venda.
Tamanho: 13,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorUnitarioMoedaNegociada = null;
+
+ @XmlElement(name = "descricao")
+ @ApiModelProperty(example = "Texto de exemplo.", value = "Descrição complementar da mercadoria.
Tamanho mínimo: 0
Tamanho máximo: 4000")
+ /**
+ * Descrição complementar da mercadoria.
Tamanho mínimo: 0
Tamanho máximo: 4000
+ **/
+ private String descricao = null;
+
+ /**
+ * Get tipoAplicacao
+ *
+ * @return tipoAplicacao
+ **/
+ @JsonProperty("tipoAplicacao")
+ @NotNull
+ public TipoAplicacaoCover getTipoAplicacao() {
+ return tipoAplicacao;
+ }
+
+ public void setTipoAplicacao(TipoAplicacaoCover tipoAplicacao) {
+ this.tipoAplicacao = tipoAplicacao;
+ }
+
+ public MercadoriaCover tipoAplicacao(TipoAplicacaoCover tipoAplicacao) {
+ this.tipoAplicacao = tipoAplicacao;
+ return this;
+ }
+
+ /**
+ * Indica se a mercadoria é nova ou usada.<br>Domínio:
+ *
+ * @return condicao
+ **/
+ @JsonProperty("condicao")
+ @NotNull
+ public String getCondicao() {
+ if (condicao == null) {
+ return null;
+ }
+ return condicao.value();
+ }
+
+ public void setCondicao(CondicaoEnum condicao) {
+ this.condicao = condicao;
+ }
+
+ public MercadoriaCover condicao(CondicaoEnum condicao) {
+ this.condicao = condicao;
+ return this;
+ }
+
+ /**
+ * Unidade de medida utilizada na comercialização da mercadoria.<br>Tamanho mínimo: 1<br>Tamanho máximo: 20
+ *
+ * @return unidadeComercial
+ **/
+ @JsonProperty("unidadeComercial")
+ @NotNull
+ public String getUnidadeComercial() {
+ return unidadeComercial;
+ }
+
+ public void setUnidadeComercial(String unidadeComercial) {
+ this.unidadeComercial = unidadeComercial;
+ }
+
+ public MercadoriaCover unidadeComercial(String unidadeComercial) {
+ this.unidadeComercial = unidadeComercial;
+ return this;
+ }
+
+ /**
+ * Quantidade da mercadoria na unidade de medida comercial.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return quantidadeComercial
+ **/
+ @JsonProperty("quantidadeComercial")
+ @NotNull
+ public Double getQuantidadeComercial() {
+ return quantidadeComercial;
+ }
+
+ public void setQuantidadeComercial(Double quantidadeComercial) {
+ this.quantidadeComercial = quantidadeComercial;
+ }
+
+ public MercadoriaCover quantidadeComercial(Double quantidadeComercial) {
+ this.quantidadeComercial = quantidadeComercial;
+ return this;
+ }
+
+ /**
+ * Quantidade na unidade de medida estatística associada à NCM do produto.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return quantidadeMedidaEstatistica
+ **/
+ @JsonProperty("quantidadeMedidaEstatistica")
+ @NotNull
+ public Double getQuantidadeMedidaEstatistica() {
+ return quantidadeMedidaEstatistica;
+ }
+
+ public void setQuantidadeMedidaEstatistica(Double quantidadeMedidaEstatistica) {
+ this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica;
+ }
+
+ public MercadoriaCover quantidadeMedidaEstatistica(Double quantidadeMedidaEstatistica) {
+ this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica;
+ return this;
+ }
+
+ /**
+ * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return pesoLiquido
+ **/
+ @JsonProperty("pesoLiquido")
+ @NotNull
+ public Double getPesoLiquido() {
+ return pesoLiquido;
+ }
+
+ public void setPesoLiquido(Double pesoLiquido) {
+ this.pesoLiquido = pesoLiquido;
+ }
+
+ public MercadoriaCover pesoLiquido(Double pesoLiquido) {
+ this.pesoLiquido = pesoLiquido;
+ return this;
+ }
+
+ /**
+ * Get moedaNegociada
+ *
+ * @return moedaNegociada
+ **/
+ @JsonProperty("moedaNegociada")
+ @NotNull
+ public MoedaNegociadaCover getMoedaNegociada() {
+ return moedaNegociada;
+ }
+
+ public void setMoedaNegociada(MoedaNegociadaCover moedaNegociada) {
+ this.moedaNegociada = moedaNegociada;
+ }
+
+ public MercadoriaCover moedaNegociada(MoedaNegociadaCover moedaNegociada) {
+ this.moedaNegociada = moedaNegociada;
+ return this;
+ }
+
+ /**
+ * Valor unitário da mercadoria na condição de venda.<br>Tamanho: 13,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorUnitarioMoedaNegociada
+ **/
+ @JsonProperty("valorUnitarioMoedaNegociada")
+ @NotNull
+ public Double getValorUnitarioMoedaNegociada() {
+ return valorUnitarioMoedaNegociada;
+ }
+
+ public void setValorUnitarioMoedaNegociada(Double valorUnitarioMoedaNegociada) {
+ this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada;
+ }
+
+ public MercadoriaCover valorUnitarioMoedaNegociada(Double valorUnitarioMoedaNegociada) {
+ this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada;
+ return this;
+ }
+
+ /**
+ * Descrição complementar da mercadoria.<br>Tamanho mínimo: 0<br>Tamanho máximo: 4000
+ *
+ * @return descricao
+ **/
+ @JsonProperty("descricao")
+ public String getDescricao() {
+ return descricao;
+ }
+
+ public void setDescricao(String descricao) {
+ this.descricao = descricao;
+ }
+
+ public MercadoriaCover descricao(String descricao) {
+ this.descricao = descricao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MercadoriaCover {\n" +
+ " tipoAplicacao: " + toIndentedString(tipoAplicacao) + "\n" +
+ " condicao: " + toIndentedString(condicao) + "\n" +
+ " unidadeComercial: " + toIndentedString(unidadeComercial) + "\n" +
+ " quantidadeComercial: " + toIndentedString(quantidadeComercial) + "\n" +
+ " quantidadeMedidaEstatistica: " + toIndentedString(quantidadeMedidaEstatistica) + "\n" +
+ " pesoLiquido: " + toIndentedString(pesoLiquido) + "\n" +
+ " moedaNegociada: " + toIndentedString(moedaNegociada) + "\n" +
+ " valorUnitarioMoedaNegociada: " + toIndentedString(valorUnitarioMoedaNegociada) + "\n" +
+ " descricao: " + toIndentedString(descricao) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaLocalEmbarqueCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaLocalEmbarqueCover.java
new file mode 100644
index 0000000..7b8db17
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaLocalEmbarqueCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MercadoriaLocalEmbarqueCover", propOrder =
+ {"valorTotalBRL"
+ })
+
+@XmlRootElement(name = "MercadoriaLocalEmbarqueCover")
+/**
+ * Valor da mercadoria no local de embarque.
+ **/
+@ApiModel(description = "Valor da mercadoria no local de embarque.")
+public class MercadoriaLocalEmbarqueCover {
+
+ @XmlElement(name = "valorTotalBRL")
+ @ApiModelProperty(example = "3806.5", value = "Valor total da mercadoria no local de embarque.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor total da mercadoria no local de embarque.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorTotalBRL = null;
+
+ /**
+ * Valor total da mercadoria no local de embarque.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorTotalBRL
+ **/
+ @JsonProperty("valorTotalBRL")
+ public Double getValorTotalBRL() {
+ return valorTotalBRL;
+ }
+
+ public void setValorTotalBRL(Double valorTotalBRL) {
+ this.valorTotalBRL = valorTotalBRL;
+ }
+
+ public MercadoriaLocalEmbarqueCover valorTotalBRL(Double valorTotalBRL) {
+ this.valorTotalBRL = valorTotalBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MercadoriaLocalEmbarqueCover {\n" +
+ " valorTotalBRL: " + toIndentedString(valorTotalBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaValoresCalculadosItemCover.java
new file mode 100644
index 0000000..d7e420f
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MercadoriaValoresCalculadosItemCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MercadoriaValoresCalculadosItemCover", propOrder =
+ {"valorLocalEmbarqueBRL", "valorAduaneiroBRL"
+ })
+
+@XmlRootElement(name = "MercadoriaValoresCalculadosItemCover")
+/**
+ * Valores da Mercadoria.
+ **/
+@ApiModel(description = "Valores da Mercadoria.")
+public class MercadoriaValoresCalculadosItemCover {
+
+ @XmlElement(name = "valorLocalEmbarqueBRL")
+ @ApiModelProperty(example = "20.666", value = "Valor total da mercadoria no local de embarque em R$ (Reais).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor total da mercadoria no local de embarque em R$ (Reais).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorLocalEmbarqueBRL = null;
+
+ @XmlElement(name = "valorAduaneiroBRL")
+ @ApiModelProperty(example = "20.666", value = "Valor total aduaneiro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor total aduaneiro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorAduaneiroBRL = null;
+
+ /**
+ * Valor total da mercadoria no local de embarque em R$ (Reais). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorLocalEmbarqueBRL
+ **/
+ @JsonProperty("valorLocalEmbarqueBRL")
+ public Double getValorLocalEmbarqueBRL() {
+ return valorLocalEmbarqueBRL;
+ }
+
+ public void setValorLocalEmbarqueBRL(Double valorLocalEmbarqueBRL) {
+ this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL;
+ }
+
+ public MercadoriaValoresCalculadosItemCover valorLocalEmbarqueBRL(Double valorLocalEmbarqueBRL) {
+ this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL;
+ return this;
+ }
+
+ /**
+ * Valor total aduaneiro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAduaneiroBRL
+ **/
+ @JsonProperty("valorAduaneiroBRL")
+ public Double getValorAduaneiroBRL() {
+ return valorAduaneiroBRL;
+ }
+
+ public void setValorAduaneiroBRL(Double valorAduaneiroBRL) {
+ this.valorAduaneiroBRL = valorAduaneiroBRL;
+ }
+
+ public MercadoriaValoresCalculadosItemCover valorAduaneiroBRL(Double valorAduaneiroBRL) {
+ this.valorAduaneiroBRL = valorAduaneiroBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MercadoriaValoresCalculadosItemCover {\n" +
+ " valorLocalEmbarqueBRL: " + toIndentedString(valorLocalEmbarqueBRL) + "\n" +
+ " valorAduaneiroBRL: " + toIndentedString(valorAduaneiroBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MetodoValoracaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MetodoValoracaoCover.java
new file mode 100644
index 0000000..9e92770
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MetodoValoracaoCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MetodoValoracaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "MetodoValoracaoCover")
+/**
+ * Método de valoração.
+ **/
+@ApiModel(description = "Método de valoração.")
+public class MetodoValoracaoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Código do método de valoração.
Domínio: Tabela de Métodos de Valoração Siscomex
Valor mínimo: 1
Valor máximo: 99999
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código do método de valoração.
Domínio: Tabela de Métodos de Valoração Siscomex
Valor mínimo: 1
Valor máximo: 99999
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private Integer codigo = null;
+
+ /**
+ * Código do método de valoração.<br>Domínio: Tabela de Métodos de Valoração Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99999<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public MetodoValoracaoCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MetodoValoracaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaAcrescimoDeducaoCover.java
new file mode 100644
index 0000000..821e6bb
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaAcrescimoDeducaoCover.java
@@ -0,0 +1,102 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MoedaAcrescimoDeducaoCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "MoedaAcrescimoDeducaoCover")
+/**
+ * Dados da moeda utilizada no Acréscimo ou Dedução.
+ **/
+@ApiModel(description = "Dados da moeda utilizada no Acréscimo ou Dedução.")
+public class MoedaAcrescimoDeducaoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda negociada (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da Moeda negociada (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor", required = true)
+ @ApiModelProperty(example = "100.12", required = true, value = "Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double valor = null;
+
+ /**
+ * Código da Moeda negociada (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public MoedaAcrescimoDeducaoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ @NotNull
+ public Double getValor() {
+ return valor;
+ }
+
+ public void setValor(Double valor) {
+ this.valor = valor;
+ }
+
+ public MoedaAcrescimoDeducaoCover valor(Double valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MoedaAcrescimoDeducaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaNegociadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaNegociadaCover.java
new file mode 100644
index 0000000..2f77151
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MoedaNegociadaCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MoedaNegociadaCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "MoedaNegociadaCover")
+/**
+ * Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
+ **/
+@ApiModel(description = "Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).")
+public class MoedaNegociadaCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public MoedaNegociadaCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MoedaNegociadaCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MotivoSemCoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MotivoSemCoberturaCambialCover.java
new file mode 100644
index 0000000..f0592ee
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/MotivoSemCoberturaCambialCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MotivoSemCoberturaCambialCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "MotivoSemCoberturaCambialCover")
+/**
+ * Motivo para ausência de cobertura cambial.
Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\".
+ **/
+@ApiModel(description = "Motivo para ausência de cobertura cambial.
Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\".")
+public class MotivoSemCoberturaCambialCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "52", value = "Código do Motivo para ausência de cobertura cambial.
Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99999")
+ /**
+ * Código do Motivo para ausência de cobertura cambial.
Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99999
+ **/
+ private Integer codigo = null;
+
+ /**
+ * Código do Motivo para ausência de cobertura cambial.<br>Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99999
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public MotivoSemCoberturaCambialCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MotivoSemCoberturaCambialCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PagamentoRegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PagamentoRegistroCover.java
new file mode 100644
index 0000000..5705521
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PagamentoRegistroCover.java
@@ -0,0 +1,71 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PagamentoRegistroCover", propOrder =
+ {"principal"
+ })
+
+@XmlRootElement(name = "PagamentoRegistroCover")
+/**
+ * Dados de um pagamento.
+ **/
+@ApiModel(description = "Dados de um pagamento.")
+public class PagamentoRegistroCover {
+
+ @XmlElement(name = "principal")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ValorPagamentoRegistroCover principal = null;
+
+ /**
+ * Get principal
+ *
+ * @return principal
+ **/
+ @JsonProperty("principal")
+ public ValorPagamentoRegistroCover getPrincipal() {
+ return principal;
+ }
+
+ public void setPrincipal(ValorPagamentoRegistroCover principal) {
+ this.principal = principal;
+ }
+
+ public PagamentoRegistroCover principal(ValorPagamentoRegistroCover principal) {
+ this.principal = principal;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PagamentoRegistroCover {\n" +
+ " principal: " + toIndentedString(principal) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisExportadorCover.java
new file mode 100644
index 0000000..05ee2bc
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisExportadorCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaisExportadorCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "PaisExportadorCover")
+/**
+ * País de procedência da mercadoria.
+ **/
+@ApiModel(description = "País de procedência da mercadoria.")
+public class PaisExportadorCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'")
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA'
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public PaisExportadorCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PaisExportadorCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisFabricanteCover.java
new file mode 100644
index 0000000..928f584
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PaisFabricanteCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaisFabricanteCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "PaisFabricanteCover")
+/**
+ * País de origem do fabricante.
+ **/
+@ApiModel(description = "País de origem do fabricante.")
+public class PaisFabricanteCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'")
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA'
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public PaisFabricanteCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PaisFabricanteCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PalavraChaveDocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PalavraChaveDocumentoInstrucaoCover.java
new file mode 100644
index 0000000..a6e1eb0
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/PalavraChaveDocumentoInstrucaoCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PalavraChaveDocumentoInstrucaoCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "PalavraChaveDocumentoInstrucaoCover")
+/**
+ * Lista de palavras-chave associadas ao documento instrutivo.
A palavra-chave obrigatória deve ser o primeiro item da lista.
+ **/
+@ApiModel(description = "Lista de palavras-chave associadas ao documento instrutivo.
A palavra-chave obrigatória deve ser o primeiro item da lista.")
+public class PalavraChaveDocumentoInstrucaoCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "33", value = "Código da palavra-chave no sistema Anexação.
Domínio: Palavras-Chave existentes no sistema Anexação (E-Docex).
Valor mínimo: 1
Valor máximo: 999")
+ /**
+ * Código da palavra-chave no sistema Anexação.
Domínio: Palavras-Chave existentes no sistema Anexação (E-Docex).
Valor mínimo: 1
Valor máximo: 999
+ **/
+ private Integer codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "9999.99.99", value = "Valor informado pelo importador para a palavra-chave.")
+ /**
+ * Valor informado pelo importador para a palavra-chave.
+ **/
+ private String valor = null;
+
+ /**
+ * Código da palavra-chave no sistema Anexação.<br>Domínio: Palavras-Chave existentes no sistema Anexação (E-Docex).<br>Valor mínimo: 1<br>Valor máximo: 999
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public PalavraChaveDocumentoInstrucaoCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor informado pelo importador para a palavra-chave.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public PalavraChaveDocumentoInstrucaoCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PalavraChaveDocumentoInstrucaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProcessoDocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProcessoDocumentoInstrucaoCover.java
new file mode 100644
index 0000000..a46a427
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProcessoDocumentoInstrucaoCover.java
@@ -0,0 +1,139 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ProcessoDocumentoInstrucaoCover", propOrder =
+ {"identificacao", "tipo"
+ })
+
+@XmlRootElement(name = "ProcessoDocumentoInstrucaoCover")
+/**
+ * Lista de processos vinculados.
+ **/
+@ApiModel(description = "Lista de processos vinculados.")
+public class ProcessoDocumentoInstrucaoCover {
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(example = "15595720034201371", value = "Número do Processo vinculado à Duimp.")
+ /**
+ * Número do Processo vinculado à Duimp.
+ **/
+ private String identificacao = null;
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("ADMINISTRATIVO")
+ @JsonProperty("ADMINISTRATIVO")
+ ADMINISTRATIVO("ADMINISTRATIVO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "ADMINISTRATIVO", value = "Tipo de Processo Administrativo.
Domínio:")
+ /**
+ * Tipo de Processo Administrativo.
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ /**
+ * Número do Processo vinculado à Duimp.
+ *
+ * @return identificacao
+ **/
+ @JsonProperty("identificacao")
+ public String getIdentificacao() {
+ return identificacao;
+ }
+
+ public void setIdentificacao(String identificacao) {
+ this.identificacao = identificacao;
+ }
+
+ public ProcessoDocumentoInstrucaoCover identificacao(String identificacao) {
+ this.identificacao = identificacao;
+ return this;
+ }
+
+ /**
+ * Tipo de Processo Administrativo.<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public ProcessoDocumentoInstrucaoCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ProcessoDocumentoInstrucaoCover {\n" +
+ " identificacao: " + toIndentedString(identificacao) + "\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProdutoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProdutoCover.java
new file mode 100644
index 0000000..4d827b0
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ProdutoCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ProdutoCover", propOrder =
+ {"codigo", "versao", "niResponsavel"
+ })
+
+@XmlRootElement(name = "ProdutoCover")
+/**
+ * Dados do Produto.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Dados do Produto.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/")
+public class ProdutoCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "10", value = "Código do produto.
Formato: Inteiro, com até 10 dígitos")
+ /**
+ * Código do produto.
Formato: Inteiro, com até 10 dígitos
+ **/
+ private Integer codigo = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão do produto.
Tamanho mínimo: 1
Tamanho máximo: 7")
+ /**
+ * Versão do produto.
Tamanho mínimo: 1
Tamanho máximo: 7
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "niResponsavel")
+ @ApiModelProperty(example = "00000000", value = "
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String niResponsavel = null;
+
+ /**
+ * Código do produto.<br>Formato: Inteiro, com até 10 dígitos
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public ProdutoCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Versão do produto.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public ProdutoCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return niResponsavel
+ **/
+ @JsonProperty("niResponsavel")
+ public String getNiResponsavel() {
+ return niResponsavel;
+ }
+
+ public void setNiResponsavel(String niResponsavel) {
+ this.niResponsavel = niResponsavel;
+ }
+
+ public ProdutoCover niResponsavel(String niResponsavel) {
+ this.niResponsavel = niResponsavel;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ProdutoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " niResponsavel: " + toIndentedString(niResponsavel) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegimeCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegimeCover.java
new file mode 100644
index 0000000..368c00d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegimeCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RegimeCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "RegimeCover")
+/**
+ * Regime tributário.
+ **/
+@ApiModel(description = "Regime tributário.")
+public class RegimeCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Código do regime tributário.
Dominio: Regimes tributários existentes no sistema Tratamento Tributário.")
+ /**
+ * Código do regime tributário.
Dominio: Regimes tributários existentes no sistema Tratamento Tributário.
+ **/
+ private Integer codigo = null;
+
+ /**
+ * Código do regime tributário.<br>Dominio: Regimes tributários existentes no sistema Tratamento Tributário.
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public Integer getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(Integer codigo) {
+ this.codigo = codigo;
+ }
+
+ public RegimeCover codigo(Integer codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class RegimeCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegistroCover.java
new file mode 100644
index 0000000..6802a02
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/RegistroCover.java
@@ -0,0 +1,179 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.ArrayList;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RegistroCover", propOrder =
+ {"totalItem", "pagamentos", "confirmacaoAlertaErrosNaoImpeditivos"
+ })
+
+@XmlRootElement(name = "RegistroCover")
+public class RegistroCover {
+
+ @XmlElement(name = "totalItem", required = true)
+ @ApiModelProperty(example = "3", required = true, value = "Número total de itens já enviados e salvos.
Formato: Inteiro, com até 5 dígitos
Valor mínimo: 0
Valor máximo: 99999")
+ /**
+ * Número total de itens já enviados e salvos.
Formato: Inteiro, com até 5 dígitos
Valor mínimo: 0
Valor máximo: 99999
+ **/
+ private Integer totalItem = null;
+
+ @XmlElement(name = "pagamentos", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private List
Domínio:")
+ /**
+ * Indica se a Duimp deve ser registrada mesmo com a existência de erros não impeditivos.
Domínio:
+ **/
+ private ConfirmacaoAlertaErrosNaoImpeditivosEnum confirmacaoAlertaErrosNaoImpeditivos = null;
+
+ /**
+ * Número total de itens já enviados e salvos.<br>Formato: Inteiro, com até 5 dígitos<br>Valor mínimo: 0<br>Valor máximo: 99999
+ *
+ * @return totalItem
+ **/
+ @JsonProperty("totalItem")
+ @NotNull
+ public Integer getTotalItem() {
+ return totalItem;
+ }
+
+ public void setTotalItem(Integer totalItem) {
+ this.totalItem = totalItem;
+ }
+
+ public RegistroCover totalItem(Integer totalItem) {
+ this.totalItem = totalItem;
+ return this;
+ }
+
+ /**
+ * Get pagamentos
+ *
+ * @return pagamentos
+ **/
+ @JsonProperty("pagamentos")
+ @NotNull
+ public List
Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.")
+ @Valid
+ /**
+ * Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.
+ **/
+ private List
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigoMoedaNegociada = null;
+
+ @XmlElement(name = "valorMoedaNegociada")
+ @ApiModelProperty(example = "30.12", value = "Valor do seguro na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor do seguro na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double valorMoedaNegociada = null;
+
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigoMoedaNegociada
+ **/
+ @JsonProperty("codigoMoedaNegociada")
+ public String getCodigoMoedaNegociada() {
+ return codigoMoedaNegociada;
+ }
+
+ public void setCodigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ }
+
+ public SeguroCover codigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ return this;
+ }
+
+ /**
+ * Valor do seguro na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valorMoedaNegociada
+ **/
+ @JsonProperty("valorMoedaNegociada")
+ public Double getValorMoedaNegociada() {
+ return valorMoedaNegociada;
+ }
+
+ public void setValorMoedaNegociada(Double valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ }
+
+ public SeguroCover valorMoedaNegociada(Double valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class SeguroCover {\n" +
+ " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" +
+ " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosDuimpCover.java
new file mode 100644
index 0000000..134614a
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosDuimpCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SeguroValoresCalculadosDuimpCover", propOrder =
+ {"valorTotalBRL"
+ })
+
+@XmlRootElement(name = "SeguroValoresCalculadosDuimpCover")
+/**
+ * Dados do seguro.
+ **/
+@ApiModel(description = "Dados do seguro.")
+public class SeguroValoresCalculadosDuimpCover {
+
+ @XmlElement(name = "valorTotalBRL")
+ @ApiModelProperty(example = "120.48", value = "Valor do seguro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do seguro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorTotalBRL = null;
+
+ /**
+ * Valor do seguro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorTotalBRL
+ **/
+ @JsonProperty("valorTotalBRL")
+ public Double getValorTotalBRL() {
+ return valorTotalBRL;
+ }
+
+ public void setValorTotalBRL(Double valorTotalBRL) {
+ this.valorTotalBRL = valorTotalBRL;
+ }
+
+ public SeguroValoresCalculadosDuimpCover valorTotalBRL(Double valorTotalBRL) {
+ this.valorTotalBRL = valorTotalBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class SeguroValoresCalculadosDuimpCover {\n" +
+ " valorTotalBRL: " + toIndentedString(valorTotalBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosItemCover.java
new file mode 100644
index 0000000..b02780d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/SeguroValoresCalculadosItemCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SeguroValoresCalculadosItemCover", propOrder =
+ {"valorBRL"
+ })
+
+@XmlRootElement(name = "SeguroValoresCalculadosItemCover")
+/**
+ * Valor do seguro.
+ **/
+@ApiModel(description = "Valor do seguro.")
+public class SeguroValoresCalculadosItemCover {
+
+ @XmlElement(name = "valorBRL")
+ @ApiModelProperty(example = "120.48", value = "Valor do seguro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do seguro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double valorBRL = null;
+
+ /**
+ * Valor do seguro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorBRL
+ **/
+ @JsonProperty("valorBRL")
+ public Double getValorBRL() {
+ return valorBRL;
+ }
+
+ public void setValorBRL(Double valorBRL) {
+ this.valorBRL = valorBRL;
+ }
+
+ public SeguroValoresCalculadosItemCover valorBRL(Double valorBRL) {
+ this.valorBRL = valorBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class SeguroValoresCalculadosItemCover {\n" +
+ " valorBRL: " + toIndentedString(valorBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoAplicacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoAplicacaoCover.java
new file mode 100644
index 0000000..1a1d6e6
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoAplicacaoCover.java
@@ -0,0 +1,130 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TipoAplicacaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "TipoAplicacaoCover")
+/**
+ * Destinação da mercadoria.
+ **/
+@ApiModel(description = "Destinação da mercadoria.")
+public class TipoAplicacaoCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("CONSUMO")
+ @JsonProperty("CONSUMO")
+ CONSUMO("CONSUMO"),
+
+ @XmlEnumValue("INCORPORACAO_ATIVO_FIXO")
+ @JsonProperty("INCORPORACAO_ATIVO_FIXO")
+ INCORPORACAO_ATIVO_FIXO("INCORPORACAO_ATIVO_FIXO"),
+
+ @XmlEnumValue("INDUSTRIALIZACAO")
+ @JsonProperty("INDUSTRIALIZACAO")
+ INDUSTRIALIZACAO("INDUSTRIALIZACAO"),
+
+ @XmlEnumValue("REVENDA")
+ @JsonProperty("REVENDA")
+ REVENDA("REVENDA"),
+
+ @XmlEnumValue("OUTRA")
+ @JsonProperty("OUTRA")
+ OUTRA("OUTRA");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "CONSUMO", required = true, value = "Destinação da mercadoria de acordo com o domínio a seguir.
Domínio:")
+ /**
+ * Destinação da mercadoria de acordo com o domínio a seguir.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Destinação da mercadoria de acordo com o domínio a seguir.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public TipoAplicacaoCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TipoAplicacaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoDocumentoInstrucaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoDocumentoInstrucaoCover.java
new file mode 100644
index 0000000..74d5f4b
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TipoDocumentoInstrucaoCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TipoDocumentoInstrucaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "TipoDocumentoInstrucaoCover")
+/**
+ * Tipo do documento instrutivo para despacho.
+ **/
+@ApiModel(description = "Tipo do documento instrutivo para despacho.")
+public class TipoDocumentoInstrucaoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "99", required = true, value = "Código do Tipo de Documento no sistema Anexação (E-Docex).
Domínio: Tipos de Documento existentes no sistema Anexação (E-Docex).
Valor mínimo: 1
Valor máximo: 999")
+ /**
+ * Código do Tipo de Documento no sistema Anexação (E-Docex).
Domínio: Tipos de Documento existentes no sistema Anexação (E-Docex).
Valor mínimo: 1
Valor máximo: 999
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do Tipo de Documento no sistema Anexação (E-Docex).<br>Domínio: Tipos de Documento existentes no sistema Anexação (E-Docex).<br>Valor mínimo: 1<br>Valor máximo: 999
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public TipoDocumentoInstrucaoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TipoDocumentoInstrucaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoDuimpCover.java
new file mode 100644
index 0000000..641f87d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoDuimpCover.java
@@ -0,0 +1,170 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoCalculadoDuimpCover", propOrder =
+ {"tipo", "valoresBRL"
+ })
+
+@XmlRootElement(name = "TributoCalculadoDuimpCover")
+/**
+ * Valores do cálculo do tributo e a memória de cálculo.
+ **/
+@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.")
+public class TributoCalculadoDuimpCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("II")
+ @JsonProperty("II")
+ II("II"),
+
+ @XmlEnumValue("IPI")
+ @JsonProperty("IPI")
+ IPI("IPI"),
+
+ @XmlEnumValue("PIS")
+ @JsonProperty("PIS")
+ PIS("PIS"),
+
+ @XmlEnumValue("COFINS")
+ @JsonProperty("COFINS")
+ COFINS("COFINS"),
+
+ @XmlEnumValue("CIDE")
+ @JsonProperty("CIDE")
+ CIDE("CIDE"),
+
+ @XmlEnumValue("ANTIDUMPING")
+ @JsonProperty("ANTIDUMPING")
+ ANTIDUMPING("ANTIDUMPING"),
+
+ @XmlEnumValue("MULTA_COM_REDUCAO")
+ @JsonProperty("MULTA_COM_REDUCAO")
+ MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"),
+
+ @XmlEnumValue("MULTA_SEM_REDUCAO")
+ @JsonProperty("MULTA_SEM_REDUCAO")
+ MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"),
+
+ @XmlEnumValue("TAXA_UTILIZACAO")
+ @JsonProperty("TAXA_UTILIZACAO")
+ TAXA_UTILIZACAO("TAXA_UTILIZACAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
Domínio:")
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "valoresBRL")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ValoresTributoDuimpCover valoresBRL = null;
+
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public TributoCalculadoDuimpCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get valoresBRL
+ *
+ * @return valoresBRL
+ **/
+ @JsonProperty("valoresBRL")
+ public ValoresTributoDuimpCover getValoresBRL() {
+ return valoresBRL;
+ }
+
+ public void setValoresBRL(ValoresTributoDuimpCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ }
+
+ public TributoCalculadoDuimpCover valoresBRL(ValoresTributoDuimpCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoCalculadoDuimpCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " valoresBRL: " + toIndentedString(valoresBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoItemCover.java
new file mode 100644
index 0000000..438701c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCalculadoItemCover.java
@@ -0,0 +1,195 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoCalculadoItemCover", propOrder =
+ {"tipo", "valoresBRL", "memoriaCalculo"
+ })
+
+@XmlRootElement(name = "TributoCalculadoItemCover")
+/**
+ * Valores do cálculo do tributo e a memória de cálculo.
+ **/
+@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.")
+public class TributoCalculadoItemCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("II")
+ @JsonProperty("II")
+ II("II"),
+
+ @XmlEnumValue("IPI")
+ @JsonProperty("IPI")
+ IPI("IPI"),
+
+ @XmlEnumValue("PIS")
+ @JsonProperty("PIS")
+ PIS("PIS"),
+
+ @XmlEnumValue("COFINS")
+ @JsonProperty("COFINS")
+ COFINS("COFINS"),
+
+ @XmlEnumValue("CIDE")
+ @JsonProperty("CIDE")
+ CIDE("CIDE"),
+
+ @XmlEnumValue("ANTIDUMPING")
+ @JsonProperty("ANTIDUMPING")
+ ANTIDUMPING("ANTIDUMPING"),
+
+ @XmlEnumValue("MULTA_COM_REDUCAO")
+ @JsonProperty("MULTA_COM_REDUCAO")
+ MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"),
+
+ @XmlEnumValue("MULTA_SEM_REDUCAO")
+ @JsonProperty("MULTA_SEM_REDUCAO")
+ MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"),
+
+ @XmlEnumValue("TAXA_UTILIZACAO")
+ @JsonProperty("TAXA_UTILIZACAO")
+ TAXA_UTILIZACAO("TAXA_UTILIZACAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
Domínio:")
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "valoresBRL")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ValoresTributoItemCover valoresBRL = null;
+
+ @XmlElement(name = "memoriaCalculo")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MemoriaCalculoItemCover memoriaCalculo = null;
+
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public TributoCalculadoItemCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get valoresBRL
+ *
+ * @return valoresBRL
+ **/
+ @JsonProperty("valoresBRL")
+ public ValoresTributoItemCover getValoresBRL() {
+ return valoresBRL;
+ }
+
+ public void setValoresBRL(ValoresTributoItemCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ }
+
+ public TributoCalculadoItemCover valoresBRL(ValoresTributoItemCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ return this;
+ }
+
+ /**
+ * Get memoriaCalculo
+ *
+ * @return memoriaCalculo
+ **/
+ @JsonProperty("memoriaCalculo")
+ public MemoriaCalculoItemCover getMemoriaCalculo() {
+ return memoriaCalculo;
+ }
+
+ public void setMemoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) {
+ this.memoriaCalculo = memoriaCalculo;
+ }
+
+ public TributoCalculadoItemCover memoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) {
+ this.memoriaCalculo = memoriaCalculo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoCalculadoItemCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " valoresBRL: " + toIndentedString(valoresBRL) + "\n" +
+ " memoriaCalculo: " + toIndentedString(memoriaCalculo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCover.java
new file mode 100644
index 0000000..07686b8
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoCover.java
@@ -0,0 +1,144 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "TributoCover")
+/**
+ * Dados de um tributo.
+ **/
+@ApiModel(description = "Dados de um tributo.")
+public class TributoCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("II")
+ @JsonProperty("II")
+ II("II"),
+
+ @XmlEnumValue("IPI")
+ @JsonProperty("IPI")
+ IPI("IPI"),
+
+ @XmlEnumValue("PIS")
+ @JsonProperty("PIS")
+ PIS("PIS"),
+
+ @XmlEnumValue("COFINS")
+ @JsonProperty("COFINS")
+ COFINS("COFINS"),
+
+ @XmlEnumValue("CIDE")
+ @JsonProperty("CIDE")
+ CIDE("CIDE"),
+
+ @XmlEnumValue("ANTIDUMPING")
+ @JsonProperty("ANTIDUMPING")
+ ANTIDUMPING("ANTIDUMPING"),
+
+ @XmlEnumValue("MEDIDAS")
+ @JsonProperty("MEDIDAS")
+ MEDIDAS("MEDIDAS"),
+
+ @XmlEnumValue("SALVAGUARDA")
+ @JsonProperty("SALVAGUARDA")
+ SALVAGUARDA("SALVAGUARDA"),
+
+ @XmlEnumValue("MULTA")
+ @JsonProperty("MULTA")
+ MULTA("MULTA");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "IPI", value = "Código do regime tributário.
Domínio:")
+ /**
+ * Código do regime tributário.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Código do regime tributário.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public TributoCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoItemCover.java
new file mode 100644
index 0000000..7b37a29
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/TributoItemCover.java
@@ -0,0 +1,152 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoItemCover", propOrder =
+ {"tributo", "regime", "fundamento", "atributos"
+ })
+
+@XmlRootElement(name = "TributoItemCover")
+/**
+ * Lista de Tributos.
Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de Tributos.
Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/")
+public class TributoItemCover {
+
+ @XmlElement(name = "tributo")
+ @ApiModelProperty(value = "")
+ @Valid
+ private TributoCover tributo = null;
+
+ @XmlElement(name = "regime")
+ @ApiModelProperty(value = "")
+ @Valid
+ private RegimeCover regime = null;
+
+ @XmlElement(name = "fundamento")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FundamentoCover fundamento = null;
+
+ @XmlElement(name = "atributos")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Domínio:")
+ /**
+ * Código do tipo de tributo.
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ /**
+ * Código do tipo de tributo.<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ @NotNull
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public TributoPagamentoRegistroCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoPagamentoRegistroCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/UnidadeDeclaradaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/UnidadeDeclaradaCover.java
new file mode 100644
index 0000000..662ebb1
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/UnidadeDeclaradaCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "UnidadeDeclaradaCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "UnidadeDeclaradaCover")
+/**
+ * Unidade de Despacho.
+ **/
+@ApiModel(description = "Unidade de Despacho.")
+public class UnidadeDeclaradaCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "7912001", required = true, value = "Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
Tamanho: 7
Formato: 'NNNNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
Tamanho: 7
Formato: 'NNNNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ /**
+ * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.<br>Tamanho: 7<br>Formato: 'NNNNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public UnidadeDeclaradaCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class UnidadeDeclaradaCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValorPagamentoRegistroCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValorPagamentoRegistroCover.java
new file mode 100644
index 0000000..d5cf728
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValorPagamentoRegistroCover.java
@@ -0,0 +1,129 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ValorPagamentoRegistroCover", propOrder =
+ {"tributo", "valor", "juros"
+ })
+
+@XmlRootElement(name = "ValorPagamentoRegistroCover")
+/**
+ * Dados do tributo principal.
+ **/
+@ApiModel(description = "Dados do tributo principal.")
+public class ValorPagamentoRegistroCover {
+
+ @XmlElement(name = "tributo", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private TributoPagamentoRegistroCover tributo = null;
+
+ @XmlElement(name = "valor", required = true)
+ @ApiModelProperty(example = "10.12", required = true, value = "Valor do pagamento principal em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor do pagamento principal em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double valor = null;
+
+ @XmlElement(name = "juros", required = true)
+ @ApiModelProperty(example = "10.12", required = true, value = "Valor do pagamento de juros em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor do pagamento de juros em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private Double juros = null;
+
+ /**
+ * Get tributo
+ *
+ * @return tributo
+ **/
+ @JsonProperty("tributo")
+ @NotNull
+ public TributoPagamentoRegistroCover getTributo() {
+ return tributo;
+ }
+
+ public void setTributo(TributoPagamentoRegistroCover tributo) {
+ this.tributo = tributo;
+ }
+
+ public ValorPagamentoRegistroCover tributo(TributoPagamentoRegistroCover tributo) {
+ this.tributo = tributo;
+ return this;
+ }
+
+ /**
+ * Valor do pagamento principal em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ @NotNull
+ public Double getValor() {
+ return valor;
+ }
+
+ public void setValor(Double valor) {
+ this.valor = valor;
+ }
+
+ public ValorPagamentoRegistroCover valor(Double valor) {
+ this.valor = valor;
+ return this;
+ }
+
+ /**
+ * Valor do pagamento de juros em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return juros
+ **/
+ @JsonProperty("juros")
+ @NotNull
+ public Double getJuros() {
+ return juros;
+ }
+
+ public void setJuros(Double juros) {
+ this.juros = juros;
+ }
+
+ public ValorPagamentoRegistroCover juros(Double juros) {
+ this.juros = juros;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ValorPagamentoRegistroCover {\n" +
+ " tributo: " + toIndentedString(tributo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ " juros: " + toIndentedString(juros) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosDuimpCover.java
new file mode 100644
index 0000000..92ec63a
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresCalculadosDuimpCover.java
@@ -0,0 +1,177 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ValoresCalculadosDuimpCover", propOrder =
+ {"identificacao", "carga", "adicoes", "mercadoriaLocalEmbarque", "tributosCalculados"
+ })
+
+@XmlRootElement(name = "ValoresCalculadosDuimpCover")
+public class ValoresCalculadosDuimpCover {
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IdentificadorDuimpCover identificacao = null;
+
+ @XmlElement(name = "carga")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaValoresCalculadosDuimpCover carga = null;
+
+ @XmlElement(name = "adicoes")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ /**
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ **/
+ private Double calculado = null;
+
+ @XmlElement(name = "aReduzir")
+ @ApiModelProperty(example = "135.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double aReduzir = null;
+
+ @XmlElement(name = "devido")
+ @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ /**
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ **/
+ private Double devido = null;
+
+ @XmlElement(name = "suspenso")
+ @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double suspenso = null;
+
+ @XmlElement(name = "aRecolher")
+ @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double aRecolher = null;
+
+ @XmlElement(name = "recolhido")
+ @ApiModelProperty(example = "16.7", value = "Valores Recolhidos (pagos) do Tributo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valores Recolhidos (pagos) do Tributo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double recolhido = null;
+
+ @XmlElement(name = "complementar")
+ @ApiModelProperty(example = "16.7", value = "Valores complementares para pagamento por tributos.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valores complementares para pagamento por tributos.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double complementar = null;
+
+ @XmlElement(name = "juros")
+ @ApiModelProperty(example = "16.7", value = "Valores de cálculo de juros.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valores de cálculo de juros.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double juros = null;
+
+ /**
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ *
+ * @return calculado
+ **/
+ @JsonProperty("calculado")
+ public Double getCalculado() {
+ return calculado;
+ }
+
+ public void setCalculado(Double calculado) {
+ this.calculado = calculado;
+ }
+
+ public ValoresTributoDuimpCover calculado(Double calculado) {
+ this.calculado = calculado;
+ return this;
+ }
+
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aReduzir
+ **/
+ @JsonProperty("aReduzir")
+ public Double getAReduzir() {
+ return aReduzir;
+ }
+
+ public void setAReduzir(Double aReduzir) {
+ this.aReduzir = aReduzir;
+ }
+
+ public ValoresTributoDuimpCover aReduzir(Double aReduzir) {
+ this.aReduzir = aReduzir;
+ return this;
+ }
+
+ /**
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ *
+ * @return devido
+ **/
+ @JsonProperty("devido")
+ public Double getDevido() {
+ return devido;
+ }
+
+ public void setDevido(Double devido) {
+ this.devido = devido;
+ }
+
+ public ValoresTributoDuimpCover devido(Double devido) {
+ this.devido = devido;
+ return this;
+ }
+
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return suspenso
+ **/
+ @JsonProperty("suspenso")
+ public Double getSuspenso() {
+ return suspenso;
+ }
+
+ public void setSuspenso(Double suspenso) {
+ this.suspenso = suspenso;
+ }
+
+ public ValoresTributoDuimpCover suspenso(Double suspenso) {
+ this.suspenso = suspenso;
+ return this;
+ }
+
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aRecolher
+ **/
+ @JsonProperty("aRecolher")
+ public Double getARecolher() {
+ return aRecolher;
+ }
+
+ public void setARecolher(Double aRecolher) {
+ this.aRecolher = aRecolher;
+ }
+
+ public ValoresTributoDuimpCover aRecolher(Double aRecolher) {
+ this.aRecolher = aRecolher;
+ return this;
+ }
+
+ /**
+ * Valores Recolhidos (pagos) do Tributo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return recolhido
+ **/
+ @JsonProperty("recolhido")
+ public Double getRecolhido() {
+ return recolhido;
+ }
+
+ public void setRecolhido(Double recolhido) {
+ this.recolhido = recolhido;
+ }
+
+ public ValoresTributoDuimpCover recolhido(Double recolhido) {
+ this.recolhido = recolhido;
+ return this;
+ }
+
+ /**
+ * Valores complementares para pagamento por tributos.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return complementar
+ **/
+ @JsonProperty("complementar")
+ public Double getComplementar() {
+ return complementar;
+ }
+
+ public void setComplementar(Double complementar) {
+ this.complementar = complementar;
+ }
+
+ public ValoresTributoDuimpCover complementar(Double complementar) {
+ this.complementar = complementar;
+ return this;
+ }
+
+ /**
+ * Valores de cálculo de juros.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return juros
+ **/
+ @JsonProperty("juros")
+ public Double getJuros() {
+ return juros;
+ }
+
+ public void setJuros(Double juros) {
+ this.juros = juros;
+ }
+
+ public ValoresTributoDuimpCover juros(Double juros) {
+ this.juros = juros;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ValoresTributoDuimpCover {\n" +
+ " calculado: " + toIndentedString(calculado) + "\n" +
+ " aReduzir: " + toIndentedString(aReduzir) + "\n" +
+ " devido: " + toIndentedString(devido) + "\n" +
+ " suspenso: " + toIndentedString(suspenso) + "\n" +
+ " aRecolher: " + toIndentedString(aRecolher) + "\n" +
+ " recolhido: " + toIndentedString(recolhido) + "\n" +
+ " complementar: " + toIndentedString(complementar) + "\n" +
+ " juros: " + toIndentedString(juros) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoItemCover.java
new file mode 100644
index 0000000..51c3872
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_api_receita/model/ValoresTributoItemCover.java
@@ -0,0 +1,234 @@
+package br.gov.siscomex.portalunico.duimp_api_receita.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ValoresTributoItemCover", propOrder =
+ {"calculado", "aReduzir", "devido", "suspenso", "aRecolher", "originalDevido", "calculadoPagProporcional"
+ })
+
+@XmlRootElement(name = "ValoresTributoItemCover")
+/**
+ * Valores do cálculo do tributo.
+ **/
+@ApiModel(description = "Valores do cálculo do tributo.")
+public class ValoresTributoItemCover {
+
+ @XmlElement(name = "calculado")
+ @ApiModelProperty(example = "1598.73", value = "Valor Calculado do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor Calculado do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double calculado = null;
+
+ @XmlElement(name = "aReduzir")
+ @ApiModelProperty(example = "165.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double aReduzir = null;
+
+ @XmlElement(name = "devido")
+ @ApiModelProperty(example = "16.7", value = "Valor Devido do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor Devido do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double devido = null;
+
+ @XmlElement(name = "suspenso")
+ @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double suspenso = null;
+
+ @XmlElement(name = "aRecolher")
+ @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double aRecolher = null;
+
+ @XmlElement(name = "originalDevido")
+ @ApiModelProperty(example = "16.7", value = "Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double originalDevido = null;
+
+ @XmlElement(name = "calculadoPagProporcional")
+ @ApiModelProperty(example = "16.7", value = "Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private Double calculadoPagProporcional = null;
+
+ /**
+ * Valor Calculado do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return calculado
+ **/
+ @JsonProperty("calculado")
+ public Double getCalculado() {
+ return calculado;
+ }
+
+ public void setCalculado(Double calculado) {
+ this.calculado = calculado;
+ }
+
+ public ValoresTributoItemCover calculado(Double calculado) {
+ this.calculado = calculado;
+ return this;
+ }
+
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aReduzir
+ **/
+ @JsonProperty("aReduzir")
+ public Double getAReduzir() {
+ return aReduzir;
+ }
+
+ public void setAReduzir(Double aReduzir) {
+ this.aReduzir = aReduzir;
+ }
+
+ public ValoresTributoItemCover aReduzir(Double aReduzir) {
+ this.aReduzir = aReduzir;
+ return this;
+ }
+
+ /**
+ * Valor Devido do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return devido
+ **/
+ @JsonProperty("devido")
+ public Double getDevido() {
+ return devido;
+ }
+
+ public void setDevido(Double devido) {
+ this.devido = devido;
+ }
+
+ public ValoresTributoItemCover devido(Double devido) {
+ this.devido = devido;
+ return this;
+ }
+
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return suspenso
+ **/
+ @JsonProperty("suspenso")
+ public Double getSuspenso() {
+ return suspenso;
+ }
+
+ public void setSuspenso(Double suspenso) {
+ this.suspenso = suspenso;
+ }
+
+ public ValoresTributoItemCover suspenso(Double suspenso) {
+ this.suspenso = suspenso;
+ return this;
+ }
+
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aRecolher
+ **/
+ @JsonProperty("aRecolher")
+ public Double getARecolher() {
+ return aRecolher;
+ }
+
+ public void setARecolher(Double aRecolher) {
+ this.aRecolher = aRecolher;
+ }
+
+ public ValoresTributoItemCover aRecolher(Double aRecolher) {
+ this.aRecolher = aRecolher;
+ return this;
+ }
+
+ /**
+ * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return originalDevido
+ **/
+ @JsonProperty("originalDevido")
+ public Double getOriginalDevido() {
+ return originalDevido;
+ }
+
+ public void setOriginalDevido(Double originalDevido) {
+ this.originalDevido = originalDevido;
+ }
+
+ public ValoresTributoItemCover originalDevido(Double originalDevido) {
+ this.originalDevido = originalDevido;
+ return this;
+ }
+
+ /**
+ * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return calculadoPagProporcional
+ **/
+ @JsonProperty("calculadoPagProporcional")
+ public Double getCalculadoPagProporcional() {
+ return calculadoPagProporcional;
+ }
+
+ public void setCalculadoPagProporcional(Double calculadoPagProporcional) {
+ this.calculadoPagProporcional = calculadoPagProporcional;
+ }
+
+ public ValoresTributoItemCover calculadoPagProporcional(Double calculadoPagProporcional) {
+ this.calculadoPagProporcional = calculadoPagProporcional;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ValoresTributoItemCover {\n" +
+ " calculado: " + toIndentedString(calculado) + "\n" +
+ " aReduzir: " + toIndentedString(aReduzir) + "\n" +
+ " devido: " + toIndentedString(devido) + "\n" +
+ " suspenso: " + toIndentedString(suspenso) + "\n" +
+ " aRecolher: " + toIndentedString(aRecolher) + "\n" +
+ " originalDevido: " + toIndentedString(originalDevido) + "\n" +
+ " calculadoPagProporcional: " + toIndentedString(calculadoPagProporcional) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/api/DuimpDadosDeItensApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/api/DuimpDadosDeItensApi.java
new file mode 100644
index 0000000..52a2555
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/api/DuimpDadosDeItensApi.java
@@ -0,0 +1,46 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.api;
+
+import br.gov.siscomex.portalunico.duimp_balanca_itens.model.DuimpItemBalancaComercialCover;
+import br.gov.siscomex.portalunico.duimp_balanca_itens.model.RespostaApiErro;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.constraints.NotNull;
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+
+/**
+ * Declaração Única de Importação - Balança Comercial - Itens de Duimp
+ *
+ *
Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken, @NotNull @ApiParam(value = "Identificador único da consulta.
O valor deste parâmetro é recuperado no header da primeira página da consulta dos dados gerais.
Este atributo é obrigatório para recuperar os dados dos itens", required = true) @QueryParam("id-consulta") String idConsulta, @ApiParam(value = "Tamanho limite da quantidade de dados retornados.
Formato: Inteiro, com até 10 dígitos", defaultValue = "1000") @DefaultValue("1000") @QueryParam("limit") Integer limit, @ApiParam(value = "Índice do primeiro elemento.
Formato: Inteiro, com até 10 dígitos", defaultValue = "0") @DefaultValue("0") @QueryParam("offset") Integer offset);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AcrescimoDeducaoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AcrescimoDeducaoConsultaItemCover.java
new file mode 100644
index 0000000..1911f1e
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AcrescimoDeducaoConsultaItemCover.java
@@ -0,0 +1,195 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AcrescimoDeducaoConsultaItemCover", propOrder =
+ {"tipo", "moeda", "denominacao", "valorBRL"
+ })
+
+@XmlRootElement(name = "AcrescimoDeducaoConsultaItemCover")
+public class AcrescimoDeducaoConsultaItemCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("ACRESCIMO")
+ @JsonProperty("ACRESCIMO")
+ ACRESCIMO("ACRESCIMO"),
+
+ @XmlEnumValue("DEDUCAO")
+ @JsonProperty("DEDUCAO")
+ DEDUCAO("DEDUCAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo", required = true)
+ @ApiModelProperty(example = "ACRESCIMO", required = true, value = "Tipo de Operação (acreścimo ou dedução).
Domínio:")
+ /**
+ * Tipo de Operação (acreścimo ou dedução).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "moeda", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private MoedaAcrescimoDeducaoCover moeda = null;
+
+ @XmlElement(name = "denominacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private DenominacaoAcrescimoDeducaoCover denominacao = null;
+
+ @XmlElement(name = "valorBRL")
+ @ApiModelProperty(example = "33.45", value = "Valor na moeda negociada convertido em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor na moeda negociada convertido em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorBRL = null;
+
+ /**
+ * Tipo de Operação (acreścimo ou dedução).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ @NotNull
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public AcrescimoDeducaoConsultaItemCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get moeda
+ *
+ * @return moeda
+ **/
+ @JsonProperty("moeda")
+ @NotNull
+ public MoedaAcrescimoDeducaoCover getMoeda() {
+ return moeda;
+ }
+
+ public void setMoeda(MoedaAcrescimoDeducaoCover moeda) {
+ this.moeda = moeda;
+ }
+
+ public AcrescimoDeducaoConsultaItemCover moeda(MoedaAcrescimoDeducaoCover moeda) {
+ this.moeda = moeda;
+ return this;
+ }
+
+ /**
+ * Get denominacao
+ *
+ * @return denominacao
+ **/
+ @JsonProperty("denominacao")
+ @NotNull
+ public DenominacaoAcrescimoDeducaoCover getDenominacao() {
+ return denominacao;
+ }
+
+ public void setDenominacao(DenominacaoAcrescimoDeducaoCover denominacao) {
+ this.denominacao = denominacao;
+ }
+
+ public AcrescimoDeducaoConsultaItemCover denominacao(DenominacaoAcrescimoDeducaoCover denominacao) {
+ this.denominacao = denominacao;
+ return this;
+ }
+
+ /**
+ * Valor na moeda negociada convertido em R$ (Reais).<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valorBRL
+ **/
+ @JsonProperty("valorBRL")
+ public BigDecimal getValorBRL() {
+ return valorBRL;
+ }
+
+ public void setValorBRL(BigDecimal valorBRL) {
+ this.valorBRL = valorBRL;
+ }
+
+ public AcrescimoDeducaoConsultaItemCover valorBRL(BigDecimal valorBRL) {
+ this.valorBRL = valorBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AcrescimoDeducaoConsultaItemCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " moeda: " + toIndentedString(moeda) + "\n" +
+ " denominacao: " + toIndentedString(denominacao) + "\n" +
+ " valorBRL: " + toIndentedString(valorBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoFundamentoLegalCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoFundamentoLegalCover.java
new file mode 100644
index 0000000..33d70f0
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoFundamentoLegalCover.java
@@ -0,0 +1,94 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AtributoFundamentoLegalCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "AtributoFundamentoLegalCover")
+public class AtributoFundamentoLegalCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(value = "Código do atributo Fundamento Legal da Duimp para regimes especiais de despacho")
+ /**
+ * Código do atributo Fundamento Legal da Duimp para regimes especiais de despacho
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "10.53", value = "Valor do atributo Fundamento Legal da Duimp para regimes especiais de despacho")
+ /**
+ * Valor do atributo Fundamento Legal da Duimp para regimes especiais de despacho
+ **/
+ private String valor = null;
+
+ /**
+ * Código do atributo Fundamento Legal da Duimp para regimes especiais de despacho
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public AtributoFundamentoLegalCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor do atributo Fundamento Legal da Duimp para regimes especiais de despacho
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public AtributoFundamentoLegalCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AtributoFundamentoLegalCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoItemCover.java
new file mode 100644
index 0000000..cb97701
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoItemCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AtributoItemCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "AtributoItemCover")
+/**
+ * Lista de atributos dinâmicos da mercadoria.
Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de atributos dinâmicos da mercadoria.
Origem: Sistema Cadastro de Atributos - https://api-docs.portalunico.siscomex.gov.br/")
+public class AtributoItemCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14")
+ /**
+ * Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000")
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000
+ **/
+ private String valor = null;
+
+ /**
+ * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public AtributoItemCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public AtributoItemCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AtributoItemCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoTributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoTributoCover.java
new file mode 100644
index 0000000..fb52419
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/AtributoTributoCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AtributoTributoCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "AtributoTributoCover")
+/**
+ * Lista de atributos dinâmicos dos tributos.
+ **/
+@ApiModel(description = "Lista de atributos dinâmicos dos tributos.")
+public class AtributoTributoCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "ATT_0001", value = "Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14")
+ /**
+ * Código do atributo no cadastro de atributos.
Tamanho mínimo: 1
Tamanho máximo: 14
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "01011100", value = "Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000")
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.
Tamanho mínimo: 0
Tamanho máximo: 10000
+ **/
+ private String valor = null;
+
+ /**
+ * Código do atributo no cadastro de atributos.<br>Tamanho mínimo: 1<br>Tamanho máximo: 14
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public AtributoTributoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor atribuído pelo importador ao atributo representado pelo código.<br>Tamanho mínimo: 0<br>Tamanho máximo: 10000
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public AtributoTributoCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class AtributoTributoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CaracterizacaoImportacaoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CaracterizacaoImportacaoConsultaItemCover.java
new file mode 100644
index 0000000..d2a7b8e
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CaracterizacaoImportacaoConsultaItemCover.java
@@ -0,0 +1,149 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CaracterizacaoImportacaoConsultaItemCover", propOrder =
+ {"indicador", "ni"
+ })
+
+@XmlRootElement(name = "CaracterizacaoImportacaoConsultaItemCover")
+/**
+ * Caracterização da Importação.
+ **/
+@ApiModel(description = "Caracterização da Importação.")
+public class CaracterizacaoImportacaoConsultaItemCover {
+
+
+ @XmlType(name = "IndicadorEnum")
+ @XmlEnum(String.class)
+ public enum IndicadorEnum {
+
+ @XmlEnumValue("IMPORTACAO_DIRETA")
+ @JsonProperty("IMPORTACAO_DIRETA")
+ DIRETA("IMPORTACAO_DIRETA"),
+
+ @XmlEnumValue("IMPORTACAO_POR_CONTA_E_ORDEM")
+ @JsonProperty("IMPORTACAO_POR_CONTA_E_ORDEM")
+ POR_CONTA_E_ORDEM("IMPORTACAO_POR_CONTA_E_ORDEM"),
+
+ @XmlEnumValue("IMPORTACAO_POR_ENCOMENDA")
+ @JsonProperty("IMPORTACAO_POR_ENCOMENDA")
+ POR_ENCOMENDA("IMPORTACAO_POR_ENCOMENDA");
+
+
+ private final String value;
+
+ IndicadorEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static IndicadorEnum fromValue(String v) {
+ for (IndicadorEnum b : IndicadorEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to IndicadorEnum");
+ }
+ }
+
+ @XmlElement(name = "indicador", required = true)
+ @ApiModelProperty(example = "IMPORTACAO_DIRETA", required = true, value = "Indicador de importação por terceiros.")
+ /**
+ * Indicador de importação por terceiros.
+ **/
+ private IndicadorEnum indicador = null;
+
+ @XmlElement(name = "ni")
+ @ApiModelProperty(example = "00000000000191", value = "CNPJ do adquirente ou encomendante.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'")
+ /**
+ * CNPJ do adquirente ou encomendante.
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'
+ **/
+ private String ni = null;
+
+ /**
+ * Indicador de importação por terceiros.
+ *
+ * @return indicador
+ **/
+ @JsonProperty("indicador")
+ @NotNull
+ public String getIndicador() {
+ if (indicador == null) {
+ return null;
+ }
+ return indicador.value();
+ }
+
+ public void setIndicador(IndicadorEnum indicador) {
+ this.indicador = indicador;
+ }
+
+ public CaracterizacaoImportacaoConsultaItemCover indicador(IndicadorEnum indicador) {
+ this.indicador = indicador;
+ return this;
+ }
+
+ /**
+ * CNPJ do adquirente ou encomendante.<br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Observação: Este atributo é informado apenas quando o atributo 'indicador' possui um dos seguintes valores: 'IMPORTACAO_POR_CONTA_E_ORDEM', 'IMPORTACAO_POR_ENCOMENDA'
+ *
+ * @return ni
+ **/
+ @JsonProperty("ni")
+ public String getNi() {
+ return ni;
+ }
+
+ public void setNi(String ni) {
+ this.ni = ni;
+ }
+
+ public CaracterizacaoImportacaoConsultaItemCover ni(String ni) {
+ this.ni = ni;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CaracterizacaoImportacaoConsultaItemCover {\n" +
+ " indicador: " + toIndentedString(indicador) + "\n" +
+ " ni: " + toIndentedString(ni) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CoberturaCambialCover.java
new file mode 100644
index 0000000..8c4615b
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CoberturaCambialCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CoberturaCambialCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "CoberturaCambialCover")
+/**
+ * Cobertura cambial.
+ **/
+@ApiModel(description = "Cobertura cambial.")
+public class CoberturaCambialCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("ATE_180_DIAS")
+ @JsonProperty("ATE_180_DIAS")
+ ATE_180_DIAS("ATE_180_DIAS"),
+
+ @XmlEnumValue("DE_180_ATE_360")
+ @JsonProperty("DE_180_ATE_360")
+ DE_180_ATE_360("DE_180_ATE_360"),
+
+ @XmlEnumValue("ACIMA_360")
+ @JsonProperty("ACIMA_360")
+ ACIMA_360("ACIMA_360"),
+
+ @XmlEnumValue("SEM_COBERTURA")
+ @JsonProperty("SEM_COBERTURA")
+ SEM_COBERTURA("SEM_COBERTURA");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "ATE_180_DIAS", required = true, value = "Código da cobertura cambial.
Domínio:")
+ /**
+ * Código da cobertura cambial.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Código da cobertura cambial.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public CoberturaCambialCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CoberturaCambialCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CondicaoVendaConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CondicaoVendaConsultaItemCover.java
new file mode 100644
index 0000000..243d1ea
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/CondicaoVendaConsultaItemCover.java
@@ -0,0 +1,234 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CondicaoVendaConsultaItemCover", propOrder =
+ {"metodoValoracao", "incoterm", "valorBRL", "valorMoedaNegociada", "frete", "seguro", "acrescimosDeducoes"
+ })
+
+@XmlRootElement(name = "CondicaoVendaConsultaItemCover")
+/**
+ *
Condição de venda da mercadoria.
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
+ **/
+@ApiModel(description = "
Condição de venda da mercadoria.
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)")
+public class CondicaoVendaConsultaItemCover {
+
+ @XmlElement(name = "metodoValoracao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MetodoValoracaoCover metodoValoracao = null;
+
+ @XmlElement(name = "incoterm")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IncotermCover incoterm = null;
+
+ @XmlElement(name = "valorBRL")
+ @ApiModelProperty(example = "1.0", value = "Valor na moeda negociada convertido em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor na moeda negociada convertido em R$ (Reais).
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorBRL = null;
+
+ @XmlElement(name = "valorMoedaNegociada")
+ @ApiModelProperty(example = "1.0", value = "Valor na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorMoedaNegociada = null;
+
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FreteConsultaItemCover frete = null;
+
+ @XmlElement(name = "seguro")
+ @ApiModelProperty(value = "")
+ @Valid
+ private SeguroConsultaItemCover seguro = null;
+
+ @XmlElement(name = "acrescimosDeducoes")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
Tamanho mínimo: 1
Tamanho máximo: 8")
+ /**
+ * Número do ROF no BACEN.
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.
Tamanho mínimo: 1
Tamanho máximo: 8
+ **/
+ private String numeroROF = null;
+
+ @XmlElement(name = "instituicaoFinanciadora")
+ @ApiModelProperty(value = "")
+ @Valid
+ private InstituicaoFinanciadoraCover instituicaoFinanciadora = null;
+
+ @XmlElement(name = "valorCoberturaCambial")
+ @ApiModelProperty(example = "100.12", value = "Valor da cobertura cambial.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.")
+ /**
+ * Valor da cobertura cambial.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.
+ **/
+ private String valorCoberturaCambial = null;
+
+ @XmlElement(name = "motivoSemCobertura")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MotivoSemCoberturaCambialCover motivoSemCobertura = null;
+
+ /**
+ * Get coberturaCambial
+ *
+ * @return coberturaCambial
+ **/
+ @JsonProperty("coberturaCambial")
+ @NotNull
+ public CoberturaCambialCover getCoberturaCambial() {
+ return coberturaCambial;
+ }
+
+ public void setCoberturaCambial(CoberturaCambialCover coberturaCambial) {
+ this.coberturaCambial = coberturaCambial;
+ }
+
+ public DadosCambiaisCover coberturaCambial(CoberturaCambialCover coberturaCambial) {
+ this.coberturaCambial = coberturaCambial;
+ return this;
+ }
+
+ /**
+ * Número do ROF no BACEN.<br>Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias ou quando o motivo selecionado no atributo \"motivoSemCobertura\" admitir a utilização do ROF.<br>Tamanho mínimo: 1<br>Tamanho máximo: 8
+ *
+ * @return numeroROF
+ **/
+ @JsonProperty("numeroROF")
+ public String getNumeroROF() {
+ return numeroROF;
+ }
+
+ public void setNumeroROF(String numeroROF) {
+ this.numeroROF = numeroROF;
+ }
+
+ public DadosCambiaisCover numeroROF(String numeroROF) {
+ this.numeroROF = numeroROF;
+ return this;
+ }
+
+ /**
+ * Get instituicaoFinanciadora
+ *
+ * @return instituicaoFinanciadora
+ **/
+ @JsonProperty("instituicaoFinanciadora")
+ public InstituicaoFinanciadoraCover getInstituicaoFinanciadora() {
+ return instituicaoFinanciadora;
+ }
+
+ public void setInstituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) {
+ this.instituicaoFinanciadora = instituicaoFinanciadora;
+ }
+
+ public DadosCambiaisCover instituicaoFinanciadora(InstituicaoFinanciadoraCover instituicaoFinanciadora) {
+ this.instituicaoFinanciadora = instituicaoFinanciadora;
+ return this;
+ }
+
+ /**
+ * Valor da cobertura cambial.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.
+ *
+ * @return valorCoberturaCambial
+ **/
+ @JsonProperty("valorCoberturaCambial")
+ public String getValorCoberturaCambial() {
+ return valorCoberturaCambial;
+ }
+
+ public void setValorCoberturaCambial(String valorCoberturaCambial) {
+ this.valorCoberturaCambial = valorCoberturaCambial;
+ }
+
+ public DadosCambiaisCover valorCoberturaCambial(String valorCoberturaCambial) {
+ this.valorCoberturaCambial = valorCoberturaCambial;
+ return this;
+ }
+
+ /**
+ * Get motivoSemCobertura
+ *
+ * @return motivoSemCobertura
+ **/
+ @JsonProperty("motivoSemCobertura")
+ public MotivoSemCoberturaCambialCover getMotivoSemCobertura() {
+ return motivoSemCobertura;
+ }
+
+ public void setMotivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) {
+ this.motivoSemCobertura = motivoSemCobertura;
+ }
+
+ public DadosCambiaisCover motivoSemCobertura(MotivoSemCoberturaCambialCover motivoSemCobertura) {
+ this.motivoSemCobertura = motivoSemCobertura;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DadosCambiaisCover {\n" +
+ " coberturaCambial: " + toIndentedString(coberturaCambial) + "\n" +
+ " numeroROF: " + toIndentedString(numeroROF) + "\n" +
+ " instituicaoFinanciadora: " + toIndentedString(instituicaoFinanciadora) + "\n" +
+ " valorCoberturaCambial: " + toIndentedString(valorCoberturaCambial) + "\n" +
+ " motivoSemCobertura: " + toIndentedString(motivoSemCobertura) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DenominacaoAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DenominacaoAcrescimoDeducaoCover.java
new file mode 100644
index 0000000..c940d30
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DenominacaoAcrescimoDeducaoCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DenominacaoAcrescimoDeducaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "DenominacaoAcrescimoDeducaoCover")
+/**
+ * Denominação do acréscimo ou da dedução escolhida.
+ **/
+@ApiModel(description = "Denominação do acréscimo ou da dedução escolhida.")
+public class DenominacaoAcrescimoDeducaoCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "1", value = "Código do acréscimo ou da dedução escolhida.
Domínio: Tabela de Acréscimos/Deduções do Siscomex
Valor mínimo: 1
Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código do acréscimo ou da dedução escolhida.
Domínio: Tabela de Acréscimos/Deduções do Siscomex
Valor mínimo: 1
Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do acréscimo ou da dedução escolhida.<br>Domínio: Tabela de Acréscimos/Deduções do Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99Origem: Sistema Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public DenominacaoAcrescimoDeducaoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DenominacaoAcrescimoDeducaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpApiMessageCover.java
new file mode 100644
index 0000000..d62c33d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpApiMessageCover.java
@@ -0,0 +1,121 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DuimpApiMessageCover", propOrder =
+ {"code", "field", "message"
+ })
+
+@XmlRootElement(name = "DuimpApiMessageCover")
+public class DuimpApiMessageCover {
+
+ @XmlElement(name = "code")
+ @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.")
+ /**
+ * Código interno da mensagem de erro.
+ **/
+ private String code = null;
+
+ @XmlElement(name = "field")
+ @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido")
+ /**
+ * Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
+ **/
+ private String field = null;
+
+ @XmlElement(name = "message")
+ @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.")
+ /**
+ * Mensagem de erro.
+ **/
+ private String message = null;
+
+ /**
+ * Código interno da mensagem de erro.
+ *
+ * @return code
+ **/
+ @JsonProperty("code")
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public DuimpApiMessageCover code(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
+ *
+ * @return field
+ **/
+ @JsonProperty("field")
+ public String getField() {
+ return field;
+ }
+
+ public void setField(String field) {
+ this.field = field;
+ }
+
+ public DuimpApiMessageCover field(String field) {
+ this.field = field;
+ return this;
+ }
+
+ /**
+ * Mensagem de erro.
+ *
+ * @return message
+ **/
+ @JsonProperty("message")
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public DuimpApiMessageCover message(String message) {
+ this.message = message;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DuimpApiMessageCover {\n" +
+ " code: " + toIndentedString(code) + "\n" +
+ " field: " + toIndentedString(field) + "\n" +
+ " message: " + toIndentedString(message) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpItemBalancaComercialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpItemBalancaComercialCover.java
new file mode 100644
index 0000000..eaf507d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/DuimpItemBalancaComercialCover.java
@@ -0,0 +1,407 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DuimpItemBalancaComercialCover", propOrder =
+ {"identificacao", "produto", "caracterizacaoImportacao", "indicadorExportadorFabricante", "fabricante", "exportador", "indicadorCompradorVendedor", "mercadoria", "condicaoVenda", "lpcos", "dadosCambiais", "atributosDuimp", "atributosFundamentoLegalDuimp", "tributos"
+ })
+
+@XmlRootElement(name = "DuimpItemBalancaComercialCover")
+public class DuimpItemBalancaComercialCover {
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IdentificadorItemDuimpCover identificacao = null;
+
+ @XmlElement(name = "produto")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ProdutoConsultaItemCover produto = null;
+
+ @XmlElement(name = "caracterizacaoImportacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CaracterizacaoImportacaoConsultaItemCover caracterizacaoImportacao = null;
+
+ @XmlElement(name = "indicadorExportadorFabricante")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IndicadorExportadorFabricanteCover indicadorExportadorFabricante = null;
+
+ @XmlElement(name = "fabricante")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FabricanteCover fabricante = null;
+
+ @XmlElement(name = "exportador")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ExportadorCover exportador = null;
+
+ @XmlElement(name = "indicadorCompradorVendedor")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IndicadorCompradorVendedorCover indicadorCompradorVendedor = null;
+
+ @XmlElement(name = "mercadoria")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MercadoriaCover mercadoria = null;
+
+ @XmlElement(name = "condicaoVenda")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CondicaoVendaConsultaItemCover condicaoVenda = null;
+
+ @XmlElement(name = "lpcos")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\".
+ **/
+@ApiModel(description = "Dados de Operador Estrangeiro.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
Observação: Quando o atributo \"exportadorIndicadorFabricante\" for preenchido com o valor \"EXPORTADOR_IGUAL_FABRICANTE\", os valores informados neste grupo devem ser idênticos aos valores informados no grupo \"Fabricante\".")
+public class ExportadorCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "CN001", required = true, value = "Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35")
+ /**
+ * Código do exportador estrangeiro.
Tamanho mínimo: 1
Tamanho máximo: 35
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "versao", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Versão do exportador.
Tamanho mínimo: 0
Tamanho máximo: 6")
+ /**
+ * Versão do exportador.
Tamanho mínimo: 0
Tamanho máximo: 6
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "niOperador", required = true)
+ @ApiModelProperty(example = "00000000", required = true, value = "
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String niOperador = null;
+
+ @XmlElement(name = "pais", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private PaisExportadorCover pais = null;
+
+ /**
+ * Código do exportador estrangeiro.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public ExportadorCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Versão do exportador.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ @NotNull
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public ExportadorCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return niOperador
+ **/
+ @JsonProperty("niOperador")
+ @NotNull
+ public String getNiOperador() {
+ return niOperador;
+ }
+
+ public void setNiOperador(String niOperador) {
+ this.niOperador = niOperador;
+ }
+
+ public ExportadorCover niOperador(String niOperador) {
+ this.niOperador = niOperador;
+ return this;
+ }
+
+ /**
+ * Get pais
+ *
+ * @return pais
+ **/
+ @JsonProperty("pais")
+ @NotNull
+ public PaisExportadorCover getPais() {
+ return pais;
+ }
+
+ public void setPais(PaisExportadorCover pais) {
+ this.pais = pais;
+ }
+
+ public ExportadorCover pais(PaisExportadorCover pais) {
+ this.pais = pais;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ExportadorCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " niOperador: " + toIndentedString(niOperador) + "\n" +
+ " pais: " + toIndentedString(pais) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FabricanteCover.java
new file mode 100644
index 0000000..104ff37
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FabricanteCover.java
@@ -0,0 +1,152 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FabricanteCover", propOrder =
+ {"codigo", "versao", "niOperador", "pais"
+ })
+
+@XmlRootElement(name = "FabricanteCover")
+/**
+ * Dados do Fabricante/Produtor
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Dados do Fabricante/Produtor
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/")
+public class FabricanteCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "2104", value = "Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.")
+ /**
+ * Código do Fabricante.
Tamanho mínimo: 1
Tamanho máximo: 35
Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão do fabricante.
Tamanho mínimo: 0
Tamanho máximo: 6")
+ /**
+ * Versão do fabricante.
Tamanho mínimo: 0
Tamanho máximo: 6
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "niOperador")
+ @ApiModelProperty(example = "00000000", value = "
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String niOperador = null;
+
+ @XmlElement(name = "pais")
+ @ApiModelProperty(value = "")
+ @Valid
+ private PaisFabricanteCover pais = null;
+
+ /**
+ * Código do Fabricante.<br>Tamanho mínimo: 1<br>Tamanho máximo: 35<br>Observação: Quando o país de origem for \"BR\", este atributo deverá ser preenchido com o CNPJ ou CPF do Fabricante. Quando o país de origem for diferente de \"BR\", deverá ser utilizado o código do exportador estrangeiro.
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public FabricanteCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Versão do fabricante.<br>Tamanho mínimo: 0<br>Tamanho máximo: 6
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public FabricanteCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return niOperador
+ **/
+ @JsonProperty("niOperador")
+ public String getNiOperador() {
+ return niOperador;
+ }
+
+ public void setNiOperador(String niOperador) {
+ this.niOperador = niOperador;
+ }
+
+ public FabricanteCover niOperador(String niOperador) {
+ this.niOperador = niOperador;
+ return this;
+ }
+
+ /**
+ * Get pais
+ *
+ * @return pais
+ **/
+ @JsonProperty("pais")
+ public PaisFabricanteCover getPais() {
+ return pais;
+ }
+
+ public void setPais(PaisFabricanteCover pais) {
+ this.pais = pais;
+ }
+
+ public FabricanteCover pais(PaisFabricanteCover pais) {
+ this.pais = pais;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FabricanteCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " niOperador: " + toIndentedString(niOperador) + "\n" +
+ " pais: " + toIndentedString(pais) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FreteConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FreteConsultaItemCover.java
new file mode 100644
index 0000000..9442d14
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FreteConsultaItemCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FreteConsultaItemCover", propOrder =
+ {"valorBRL"
+ })
+
+@XmlRootElement(name = "FreteConsultaItemCover")
+/**
+ * Valor do frete.
+ **/
+@ApiModel(description = "Valor do frete.")
+public class FreteConsultaItemCover {
+
+ @XmlElement(name = "valorBRL")
+ @ApiModelProperty(example = "12.4", value = "Valor do frete total em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do frete total em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private String valorBRL = null;
+
+ /**
+ * Valor do frete total em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorBRL
+ **/
+ @JsonProperty("valorBRL")
+ public String getValorBRL() {
+ return valorBRL;
+ }
+
+ public void setValorBRL(String valorBRL) {
+ this.valorBRL = valorBRL;
+ }
+
+ public FreteConsultaItemCover valorBRL(String valorBRL) {
+ this.valorBRL = valorBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FreteConsultaItemCover {\n" +
+ " valorBRL: " + toIndentedString(valorBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FundamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FundamentoCover.java
new file mode 100644
index 0000000..ed8618f
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/FundamentoCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "FundamentoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "FundamentoCover")
+/**
+ * Fundamento legal do regime tributário de importação.
+ **/
+@ApiModel(description = "Fundamento legal do regime tributário de importação.")
+public class FundamentoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "1001", required = true, value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.")
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Dominio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public FundamentoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class FundamentoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificacaoDuimpRespostaApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificacaoDuimpRespostaApi.java
new file mode 100644
index 0000000..cc5ea52
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificacaoDuimpRespostaApi.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificacaoDuimpRespostaApi", propOrder =
+ {"numero", "versao"
+ })
+
+@XmlRootElement(name = "IdentificacaoDuimpRespostaApi")
+/**
+ * Dados da identificação da Duimp criada, retificada ou atualizada.
Atributos devolvidos apenas na resposta aos métodos POST e PUT.
+ **/
+@ApiModel(description = "Dados da identificação da Duimp criada, retificada ou atualizada.
Atributos devolvidos apenas na resposta aos métodos POST e PUT.")
+public class IdentificacaoDuimpRespostaApi {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "20BR00000012345", value = "Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)")
+ /**
+ * Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999")
+ /**
+ * Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999
+ **/
+ private String versao = null;
+
+ /**
+ * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public IdentificacaoDuimpRespostaApi numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public IdentificacaoDuimpRespostaApi versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificacaoDuimpRespostaApi {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificadorItemDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificadorItemDuimpCover.java
new file mode 100644
index 0000000..3b98e79
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IdentificadorItemDuimpCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IdentificadorItemDuimpCover", propOrder =
+ {"numero", "versao", "numeroItem"
+ })
+
+@XmlRootElement(name = "IdentificadorItemDuimpCover")
+/**
+ * Dados da identificação da declaração única de importação.
+ **/
+@ApiModel(description = "Dados da identificação da declaração única de importação.")
+public class IdentificadorItemDuimpCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "19BR00000004677", value = "Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)")
+ /**
+ * Número da Duimp.
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999")
+ /**
+ * Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999
+ **/
+ private Integer versao = null;
+
+ @XmlElement(name = "numeroItem")
+ @ApiModelProperty(example = "1", value = "Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos")
+ /**
+ * Número do item da Duimp.
Formato: Inteiro, com até 5 dígitos
+ **/
+ private Integer numeroItem = null;
+
+ /**
+ * Número da Duimp.<br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public IdentificadorItemDuimpCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public Integer getVersao() {
+ return versao;
+ }
+
+ public void setVersao(Integer versao) {
+ this.versao = versao;
+ }
+
+ public IdentificadorItemDuimpCover versao(Integer versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * Número do item da Duimp.<br>Formato: Inteiro, com até 5 dígitos
+ *
+ * @return numeroItem
+ **/
+ @JsonProperty("numeroItem")
+ public Integer getNumeroItem() {
+ return numeroItem;
+ }
+
+ public void setNumeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ }
+
+ public IdentificadorItemDuimpCover numeroItem(Integer numeroItem) {
+ this.numeroItem = numeroItem;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificadorItemDuimpCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " numeroItem: " + toIndentedString(numeroItem) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IncotermCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IncotermCover.java
new file mode 100644
index 0000000..ad3bb1c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IncotermCover.java
@@ -0,0 +1,99 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IncotermCover", propOrder =
+ {"codigo", "complemento"
+ })
+
+@XmlRootElement(name = "IncotermCover")
+/**
+ * Condição de Venda
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'.
+ **/
+@ApiModel(description = "Condição de Venda
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Observação: Este grupo só deve ser preenchido quando o atributo \"código do método de valoração\" for preenchido com o valor '1'.")
+public class IncotermCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "FOB", value = "Código da Condição de Venda (Código INCOTERM).
Tamanho: 3
Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP")
+ /**
+ * Código da Condição de Venda (Código INCOTERM).
Tamanho: 3
Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "complemento")
+ @ApiModelProperty(example = "1", value = "Descrição complementar da condição de venda.
Tamanho mínimo: 0
Tamanho máximo: 250")
+ /**
+ * Descrição complementar da condição de venda.
Tamanho mínimo: 0
Tamanho máximo: 250
+ **/
+ private String complemento = null;
+
+ /**
+ * Código da Condição de Venda (Código INCOTERM).<br>Tamanho: 3<br>Domínio: EXW, FAS, FCA, FOB, OCV, C+F, CFR, CPT, C+I, DAT, CIF, CIP, DAP
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public IncotermCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Descrição complementar da condição de venda.<br>Tamanho mínimo: 0<br>Tamanho máximo: 250
+ *
+ * @return complemento
+ **/
+ @JsonProperty("complemento")
+ public String getComplemento() {
+ return complemento;
+ }
+
+ public void setComplemento(String complemento) {
+ this.complemento = complemento;
+ }
+
+ public IncotermCover complemento(String complemento) {
+ this.complemento = complemento;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IncotermCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " complemento: " + toIndentedString(complemento) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorCompradorVendedorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorCompradorVendedorCover.java
new file mode 100644
index 0000000..ef46027
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorCompradorVendedorCover.java
@@ -0,0 +1,122 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IndicadorCompradorVendedorCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "IndicadorCompradorVendedorCover")
+/**
+ * Vinculação comprador x vendedor.
+ **/
+@ApiModel(description = "Vinculação comprador x vendedor.")
+public class IndicadorCompradorVendedorCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("NAO_HA_VINCULACAO")
+ @JsonProperty("NAO_HA_VINCULACAO")
+ NAO_HA_VINCULACAO("NAO_HA_VINCULACAO"),
+
+ @XmlEnumValue("VINCULACAO_SEM_INFLUENCIA_PRECO")
+ @JsonProperty("VINCULACAO_SEM_INFLUENCIA_PRECO")
+ VINCULACAO_SEM_INFLUENCIA_PRECO("VINCULACAO_SEM_INFLUENCIA_PRECO"),
+
+ @XmlEnumValue("VINCULACAO_COM_INFLUENCIA_PRECO")
+ @JsonProperty("VINCULACAO_COM_INFLUENCIA_PRECO")
+ VINCULACAO_COM_INFLUENCIA_PRECO("VINCULACAO_COM_INFLUENCIA_PRECO");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "NAO_HA_VINCULACAO", required = true, value = "Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
Domínio:")
+ /**
+ * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Tipo de vinculação 'comprador x vendedor' ou 'comprador/encomendante x vendedor'.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public IndicadorCompradorVendedorCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IndicadorCompradorVendedorCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorExportadorFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorExportadorFabricanteCover.java
new file mode 100644
index 0000000..551bee1
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/IndicadorExportadorFabricanteCover.java
@@ -0,0 +1,118 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "IndicadorExportadorFabricanteCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "IndicadorExportadorFabricanteCover")
+/**
+ * Relação exportador x fabricante.
+ **/
+@ApiModel(description = "Relação exportador x fabricante.")
+public class IndicadorExportadorFabricanteCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("EXPORTADOR_DIFERENTE_FABRICANTE")
+ @JsonProperty("EXPORTADOR_DIFERENTE_FABRICANTE")
+ DIFERENTE_FABRICANTE("EXPORTADOR_DIFERENTE_FABRICANTE"),
+
+ @XmlEnumValue("EXPORTADOR_IGUAL_FABRICANTE")
+ @JsonProperty("EXPORTADOR_IGUAL_FABRICANTE")
+ IGUAL_FABRICANTE("EXPORTADOR_IGUAL_FABRICANTE");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "EXPORTADOR_DIFERENTE_FABRICANTE", required = true, value = "Código da relação exportador x fabricante.
Domínio:")
+ /**
+ * Código da relação exportador x fabricante.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Código da relação exportador x fabricante.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public IndicadorExportadorFabricanteCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IndicadorExportadorFabricanteCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/InstituicaoFinanciadoraCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/InstituicaoFinanciadoraCover.java
new file mode 100644
index 0000000..fe5946c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/InstituicaoFinanciadoraCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "InstituicaoFinanciadoraCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "InstituicaoFinanciadoraCover")
+/**
+ * Instituição financiadora.
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.
+ **/
+@ApiModel(description = "Instituição financiadora.
Observação: Deve ser preenchido quando a cobertura cambial estiver acima de 360 dias.")
+public class InstituicaoFinanciadoraCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "99", value = "Código da instituição financiadora.
Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99")
+ /**
+ * Código da instituição financiadora.
Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99
+ **/
+ private String codigo = null;
+
+ /**
+ * Código da instituição financiadora.<br>Origem : Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public InstituicaoFinanciadoraCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class InstituicaoFinanciadoraCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LinkCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LinkCover.java
new file mode 100644
index 0000000..65c6e45
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LinkCover.java
@@ -0,0 +1,189 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LinkCover", propOrder =
+ {"_rel", "_href", "_method"
+ })
+
+@XmlRootElement(name = "LinkCover")
+public class LinkCover {
+
+ @XmlElement(name = "_rel")
+ @ApiModelProperty(value = "Descrição de uma URL que provê um operação relacionada ao serviço utilizado.")
+ /**
+ * Descrição de uma URL que provê um operação relacionada ao serviço utilizado.
+ **/
+ private String _rel = null;
+
+ @XmlElement(name = "_href")
+ @ApiModelProperty(value = "URL que deve ser utilizada para acessar o serviço descrito no atributo '_rel'")
+ /**
+ * URL que deve ser utilizada para acessar o serviço descrito no atributo '_rel'
+ **/
+ private String _href = null;
+
+
+ @XmlType(name = "MethodEnum")
+ @XmlEnum(String.class)
+ public enum MethodEnum {
+
+ @XmlEnumValue("GET")
+ @JsonProperty("GET")
+ GET("GET"),
+
+ @XmlEnumValue("HEAD")
+ @JsonProperty("HEAD")
+ HEAD("HEAD"),
+
+ @XmlEnumValue("POST")
+ @JsonProperty("POST")
+ POST("POST"),
+
+ @XmlEnumValue("PUT")
+ @JsonProperty("PUT")
+ PUT("PUT"),
+
+ @XmlEnumValue("DELETE")
+ @JsonProperty("DELETE")
+ DELETE("DELETE"),
+
+ @XmlEnumValue("OPTIONS")
+ @JsonProperty("OPTIONS")
+ OPTIONS("OPTIONS"),
+
+ @XmlEnumValue("TRACE")
+ @JsonProperty("TRACE")
+ TRACE("TRACE"),
+
+ @XmlEnumValue("PATCH")
+ @JsonProperty("PATCH")
+ PATCH("PATCH");
+
+
+ private final String value;
+
+ MethodEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static MethodEnum fromValue(String v) {
+ for (MethodEnum b : MethodEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to MethodEnum");
+ }
+ }
+
+ @XmlElement(name = "_method")
+ @ApiModelProperty(value = "Método HTTP que deve ser utilizado para acessar o serviço")
+ /**
+ * Método HTTP que deve ser utilizado para acessar o serviço
+ **/
+ private MethodEnum _method = null;
+
+ /**
+ * Descrição de uma URL que provê um operação relacionada ao serviço utilizado.
+ *
+ * @return _rel
+ **/
+ @JsonProperty("_rel")
+ public String getRel() {
+ return _rel;
+ }
+
+ public void setRel(String _rel) {
+ this._rel = _rel;
+ }
+
+ public LinkCover _rel(String _rel) {
+ this._rel = _rel;
+ return this;
+ }
+
+ /**
+ * URL que deve ser utilizada para acessar o serviço descrito no atributo '_rel'
+ *
+ * @return _href
+ **/
+ @JsonProperty("_href")
+ public String getHref() {
+ return _href;
+ }
+
+ public void setHref(String _href) {
+ this._href = _href;
+ }
+
+ public LinkCover _href(String _href) {
+ this._href = _href;
+ return this;
+ }
+
+ /**
+ * Método HTTP que deve ser utilizado para acessar o serviço
+ *
+ * @return _method
+ **/
+ @JsonProperty("_method")
+ public String getMethod() {
+ if (_method == null) {
+ return null;
+ }
+ return _method.value();
+ }
+
+ public void setMethod(MethodEnum _method) {
+ this._method = _method;
+ }
+
+ public LinkCover _method(MethodEnum _method) {
+ this._method = _method;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class LinkCover {\n" +
+ " _rel: " + toIndentedString(_rel) + "\n" +
+ " _href: " + toIndentedString(_href) + "\n" +
+ " _method: " + toIndentedString(_method) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LpcoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LpcoCover.java
new file mode 100644
index 0000000..1250ad8
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/LpcoCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "LpcoCover", propOrder =
+ {"numero"
+ })
+
+@XmlRootElement(name = "LpcoCover")
+/**
+ * Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de documentos LPCO (Licenças, Permissões, Certificados e Outros) necessários para operações de comércio exterior.
Origem: Sistema Tratamento Administrativo e LPCO - https://api-docs.portalunico.siscomex.gov.br/")
+public class LpcoCover {
+
+ @XmlElement(name = "numero")
+ @ApiModelProperty(example = "I2000000063", value = "Número do um LPCO.
Tamanho: 11
Formato: 'OAANNNNNNNN'
Lei de formação. O número do LPCO é composto por:
* O = Operação (E para exportação, I para importação).
* AA = Ano do registro do LPCO.
* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.")
+ /**
+ * Número do um LPCO.
Tamanho: 11
Formato: 'OAANNNNNNNN'
Lei de formação. O número do LPCO é composto por:
* O = Operação (E para exportação, I para importação).
* AA = Ano do registro do LPCO.
* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.
+ **/
+ private String numero = null;
+
+ /**
+ * Número do um LPCO.<br>Tamanho: 11<br>Formato: 'OAANNNNNNNN'<br>Lei de formação. O número do LPCO é composto por: <br>* O = Operação (E para exportação, I para importação).<br>* AA = Ano do registro do LPCO.<br>* NNNNNNNN = 8 caracteres númericos. Número sequencial do LPCO no ano.
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public LpcoCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class LpcoCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MemoriaCalculoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MemoriaCalculoItemCover.java
new file mode 100644
index 0000000..170c019
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MemoriaCalculoItemCover.java
@@ -0,0 +1,452 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MemoriaCalculoItemCover", propOrder =
+ {"codigoFundamentoLegalNormal", "baseCalculoBRL", "baseCalculoEspecificaBRL", "baseCalculoReduzidaBRL", "percentualReducaoBaseCalculo", "tipoAliquota", "percentualReducaoAliquotaReduzida", "valorAliquota", "valorAliquotaEspecifica", "valorAliquotaReduzida", "normal", "tributado", "percentualPagamento"
+ })
+
+@XmlRootElement(name = "MemoriaCalculoItemCover")
+/**
+ * Memória de cálculo por tipo de imposto.
+ **/
+@ApiModel(description = "Memória de cálculo por tipo de imposto.")
+public class MemoriaCalculoItemCover {
+
+ @XmlElement(name = "codigoFundamentoLegalNormal")
+ @ApiModelProperty(example = "1001", value = "Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.")
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.
Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ **/
+ private Long codigoFundamentoLegalNormal = null;
+
+ @XmlElement(name = "baseCalculoBRL")
+ @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor da base de cálculo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal baseCalculoBRL = null;
+
+ @XmlElement(name = "baseCalculoEspecificaBRL")
+ @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo específica em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor da base de cálculo específica em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal baseCalculoEspecificaBRL = null;
+
+ @XmlElement(name = "baseCalculoReduzidaBRL")
+ @ApiModelProperty(example = "4567.8", value = "Valor da base de cálculo reduzida em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor da base de cálculo reduzida em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal baseCalculoReduzidaBRL = null;
+
+ @XmlElement(name = "percentualReducaoBaseCalculo")
+ @ApiModelProperty(example = "4567.8", value = "Percentual de redução da base de cálculo.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Percentual de redução da base de cálculo.
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private BigDecimal percentualReducaoBaseCalculo = null;
+
+
+ @XmlType(name = "TipoAliquotaEnum")
+ @XmlEnum(String.class)
+ public enum TipoAliquotaEnum {
+
+ @XmlEnumValue("AD_VALOREM")
+ @JsonProperty("AD_VALOREM")
+ AD_VALOREM("AD_VALOREM"),
+
+ @XmlEnumValue("ESPECIFICA")
+ @JsonProperty("ESPECIFICA")
+ ESPECIFICA("ESPECIFICA");
+
+
+ private final String value;
+
+ TipoAliquotaEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoAliquotaEnum fromValue(String v) {
+ for (TipoAliquotaEnum b : TipoAliquotaEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoAliquotaEnum");
+ }
+ }
+
+ @XmlElement(name = "tipoAliquota")
+ @ApiModelProperty(example = "AD_VALOREM", value = "Tipo de alíquota do tributo.
Domínio:")
+ /**
+ * Tipo de alíquota do tributo.
Domínio:
+ **/
+ private TipoAliquotaEnum tipoAliquota = null;
+
+ @XmlElement(name = "percentualReducaoAliquotaReduzida")
+ @ApiModelProperty(example = "4227.8", value = "Percentual de redução da alíquota reduzida (%).
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Percentual de redução da alíquota reduzida (%).
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private BigDecimal percentualReducaoAliquotaReduzida = null;
+
+ @XmlElement(name = "valorAliquota")
+ @ApiModelProperty(example = "4227.8", value = "Valor da alíquota (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor da alíquota (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorAliquota = null;
+
+ @XmlElement(name = "valorAliquotaEspecifica")
+ @ApiModelProperty(example = "4227.8", value = "Valor da alíquota específica (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor da alíquota específica (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorAliquotaEspecifica = null;
+
+ @XmlElement(name = "valorAliquotaReduzida")
+ @ApiModelProperty(example = "4227.8", value = "Valor da alíquota reduzida (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor da alíquota reduzida (%).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorAliquotaReduzida = null;
+
+ @XmlElement(name = "normal")
+ @ApiModelProperty(example = "4227.8", value = "Valor normal em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor normal em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal normal = null;
+
+ @XmlElement(name = "tributado")
+ @ApiModelProperty(example = "true", value = "Indicador de tributação.")
+ /**
+ * Indicador de tributação.
+ **/
+ private Boolean tributado = null;
+
+ @XmlElement(name = "percentualPagamento")
+ @ApiModelProperty(example = "4227.8", value = "Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal percentualPagamento = null;
+
+ /**
+ * Código do fundamento legal do regime tributário de importação utilizado na declaração.<br>Domínio: Fundamentos legais existentes no sistema Tratamento Tributário.
+ *
+ * @return codigoFundamentoLegalNormal
+ **/
+ @JsonProperty("codigoFundamentoLegalNormal")
+ public Long getCodigoFundamentoLegalNormal() {
+ return codigoFundamentoLegalNormal;
+ }
+
+ public void setCodigoFundamentoLegalNormal(Long codigoFundamentoLegalNormal) {
+ this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal;
+ }
+
+ public MemoriaCalculoItemCover codigoFundamentoLegalNormal(Long codigoFundamentoLegalNormal) {
+ this.codigoFundamentoLegalNormal = codigoFundamentoLegalNormal;
+ return this;
+ }
+
+ /**
+ * Valor da base de cálculo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return baseCalculoBRL
+ **/
+ @JsonProperty("baseCalculoBRL")
+ public BigDecimal getBaseCalculoBRL() {
+ return baseCalculoBRL;
+ }
+
+ public void setBaseCalculoBRL(BigDecimal baseCalculoBRL) {
+ this.baseCalculoBRL = baseCalculoBRL;
+ }
+
+ public MemoriaCalculoItemCover baseCalculoBRL(BigDecimal baseCalculoBRL) {
+ this.baseCalculoBRL = baseCalculoBRL;
+ return this;
+ }
+
+ /**
+ * Valor da base de cálculo específica em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return baseCalculoEspecificaBRL
+ **/
+ @JsonProperty("baseCalculoEspecificaBRL")
+ public BigDecimal getBaseCalculoEspecificaBRL() {
+ return baseCalculoEspecificaBRL;
+ }
+
+ public void setBaseCalculoEspecificaBRL(BigDecimal baseCalculoEspecificaBRL) {
+ this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL;
+ }
+
+ public MemoriaCalculoItemCover baseCalculoEspecificaBRL(BigDecimal baseCalculoEspecificaBRL) {
+ this.baseCalculoEspecificaBRL = baseCalculoEspecificaBRL;
+ return this;
+ }
+
+ /**
+ * Valor da base de cálculo reduzida em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return baseCalculoReduzidaBRL
+ **/
+ @JsonProperty("baseCalculoReduzidaBRL")
+ public BigDecimal getBaseCalculoReduzidaBRL() {
+ return baseCalculoReduzidaBRL;
+ }
+
+ public void setBaseCalculoReduzidaBRL(BigDecimal baseCalculoReduzidaBRL) {
+ this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL;
+ }
+
+ public MemoriaCalculoItemCover baseCalculoReduzidaBRL(BigDecimal baseCalculoReduzidaBRL) {
+ this.baseCalculoReduzidaBRL = baseCalculoReduzidaBRL;
+ return this;
+ }
+
+ /**
+ * Percentual de redução da base de cálculo.<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return percentualReducaoBaseCalculo
+ **/
+ @JsonProperty("percentualReducaoBaseCalculo")
+ public BigDecimal getPercentualReducaoBaseCalculo() {
+ return percentualReducaoBaseCalculo;
+ }
+
+ public void setPercentualReducaoBaseCalculo(BigDecimal percentualReducaoBaseCalculo) {
+ this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo;
+ }
+
+ public MemoriaCalculoItemCover percentualReducaoBaseCalculo(BigDecimal percentualReducaoBaseCalculo) {
+ this.percentualReducaoBaseCalculo = percentualReducaoBaseCalculo;
+ return this;
+ }
+
+ /**
+ * Tipo de alíquota do tributo.<br>Domínio:
+ *
+ * @return tipoAliquota
+ **/
+ @JsonProperty("tipoAliquota")
+ public String getTipoAliquota() {
+ if (tipoAliquota == null) {
+ return null;
+ }
+ return tipoAliquota.value();
+ }
+
+ public void setTipoAliquota(TipoAliquotaEnum tipoAliquota) {
+ this.tipoAliquota = tipoAliquota;
+ }
+
+ public MemoriaCalculoItemCover tipoAliquota(TipoAliquotaEnum tipoAliquota) {
+ this.tipoAliquota = tipoAliquota;
+ return this;
+ }
+
+ /**
+ * Percentual de redução da alíquota reduzida (%).<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return percentualReducaoAliquotaReduzida
+ **/
+ @JsonProperty("percentualReducaoAliquotaReduzida")
+ public BigDecimal getPercentualReducaoAliquotaReduzida() {
+ return percentualReducaoAliquotaReduzida;
+ }
+
+ public void setPercentualReducaoAliquotaReduzida(BigDecimal percentualReducaoAliquotaReduzida) {
+ this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida;
+ }
+
+ public MemoriaCalculoItemCover percentualReducaoAliquotaReduzida(BigDecimal percentualReducaoAliquotaReduzida) {
+ this.percentualReducaoAliquotaReduzida = percentualReducaoAliquotaReduzida;
+ return this;
+ }
+
+ /**
+ * Valor da alíquota (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAliquota
+ **/
+ @JsonProperty("valorAliquota")
+ public BigDecimal getValorAliquota() {
+ return valorAliquota;
+ }
+
+ public void setValorAliquota(BigDecimal valorAliquota) {
+ this.valorAliquota = valorAliquota;
+ }
+
+ public MemoriaCalculoItemCover valorAliquota(BigDecimal valorAliquota) {
+ this.valorAliquota = valorAliquota;
+ return this;
+ }
+
+ /**
+ * Valor da alíquota específica (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAliquotaEspecifica
+ **/
+ @JsonProperty("valorAliquotaEspecifica")
+ public BigDecimal getValorAliquotaEspecifica() {
+ return valorAliquotaEspecifica;
+ }
+
+ public void setValorAliquotaEspecifica(BigDecimal valorAliquotaEspecifica) {
+ this.valorAliquotaEspecifica = valorAliquotaEspecifica;
+ }
+
+ public MemoriaCalculoItemCover valorAliquotaEspecifica(BigDecimal valorAliquotaEspecifica) {
+ this.valorAliquotaEspecifica = valorAliquotaEspecifica;
+ return this;
+ }
+
+ /**
+ * Valor da alíquota reduzida (%).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAliquotaReduzida
+ **/
+ @JsonProperty("valorAliquotaReduzida")
+ public BigDecimal getValorAliquotaReduzida() {
+ return valorAliquotaReduzida;
+ }
+
+ public void setValorAliquotaReduzida(BigDecimal valorAliquotaReduzida) {
+ this.valorAliquotaReduzida = valorAliquotaReduzida;
+ }
+
+ public MemoriaCalculoItemCover valorAliquotaReduzida(BigDecimal valorAliquotaReduzida) {
+ this.valorAliquotaReduzida = valorAliquotaReduzida;
+ return this;
+ }
+
+ /**
+ * Valor normal em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return normal
+ **/
+ @JsonProperty("normal")
+ public BigDecimal getNormal() {
+ return normal;
+ }
+
+ public void setNormal(BigDecimal normal) {
+ this.normal = normal;
+ }
+
+ public MemoriaCalculoItemCover normal(BigDecimal normal) {
+ this.normal = normal;
+ return this;
+ }
+
+ /**
+ * Indicador de tributação.
+ *
+ * @return tributado
+ **/
+ @JsonProperty("tributado")
+ public Boolean isTributado() {
+ return tributado;
+ }
+
+ public void setTributado(Boolean tributado) {
+ this.tributado = tributado;
+ }
+
+ public MemoriaCalculoItemCover tributado(Boolean tributado) {
+ this.tributado = tributado;
+ return this;
+ }
+
+ /**
+ * Percentual de pagamento, preenchido no caso de item com fundamento legal correspondente à admissão temporária com pagamento proporcional (ATUE). Para as demais Duimp será retornado nulo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return percentualPagamento
+ **/
+ @JsonProperty("percentualPagamento")
+ public BigDecimal getPercentualPagamento() {
+ return percentualPagamento;
+ }
+
+ public void setPercentualPagamento(BigDecimal percentualPagamento) {
+ this.percentualPagamento = percentualPagamento;
+ }
+
+ public MemoriaCalculoItemCover percentualPagamento(BigDecimal percentualPagamento) {
+ this.percentualPagamento = percentualPagamento;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MemoriaCalculoItemCover {\n" +
+ " codigoFundamentoLegalNormal: " + toIndentedString(codigoFundamentoLegalNormal) + "\n" +
+ " baseCalculoBRL: " + toIndentedString(baseCalculoBRL) + "\n" +
+ " baseCalculoEspecificaBRL: " + toIndentedString(baseCalculoEspecificaBRL) + "\n" +
+ " baseCalculoReduzidaBRL: " + toIndentedString(baseCalculoReduzidaBRL) + "\n" +
+ " percentualReducaoBaseCalculo: " + toIndentedString(percentualReducaoBaseCalculo) + "\n" +
+ " tipoAliquota: " + toIndentedString(tipoAliquota) + "\n" +
+ " percentualReducaoAliquotaReduzida: " + toIndentedString(percentualReducaoAliquotaReduzida) + "\n" +
+ " valorAliquota: " + toIndentedString(valorAliquota) + "\n" +
+ " valorAliquotaEspecifica: " + toIndentedString(valorAliquotaEspecifica) + "\n" +
+ " valorAliquotaReduzida: " + toIndentedString(valorAliquotaReduzida) + "\n" +
+ " normal: " + toIndentedString(normal) + "\n" +
+ " tributado: " + toIndentedString(tributado) + "\n" +
+ " percentualPagamento: " + toIndentedString(percentualPagamento) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaCover.java
new file mode 100644
index 0000000..9279bdb
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaCover.java
@@ -0,0 +1,338 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MercadoriaCover", propOrder =
+ {"tipoAplicacao", "condicao", "unidadeComercial", "quantidadeComercial", "quantidadeMedidaEstatistica", "pesoLiquido", "moedaNegociada", "valorUnitarioMoedaNegociada", "descricao"
+ })
+
+@XmlRootElement(name = "MercadoriaCover")
+/**
+ * Dados da Mercadoria.
+ **/
+@ApiModel(description = "Dados da Mercadoria.")
+public class MercadoriaCover {
+
+ @XmlElement(name = "tipoAplicacao", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private TipoAplicacaoCover tipoAplicacao = null;
+
+
+ @XmlType(name = "CondicaoEnum")
+ @XmlEnum(String.class)
+ public enum CondicaoEnum {
+
+ @XmlEnumValue("NOVA")
+ @JsonProperty("NOVA")
+ NOVA("NOVA"),
+
+ @XmlEnumValue("USADA")
+ @JsonProperty("USADA")
+ USADA("USADA");
+
+
+ private final String value;
+
+ CondicaoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CondicaoEnum fromValue(String v) {
+ for (CondicaoEnum b : CondicaoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CondicaoEnum");
+ }
+ }
+
+ @XmlElement(name = "condicao", required = true)
+ @ApiModelProperty(example = "NOVA", required = true, value = "Indica se a mercadoria é nova ou usada.
Domínio:")
+ /**
+ * Indica se a mercadoria é nova ou usada.
Domínio:
+ **/
+ private CondicaoEnum condicao = null;
+
+ @XmlElement(name = "unidadeComercial", required = true)
+ @ApiModelProperty(example = "SACAS", required = true, value = "Unidade de medida utilizada na comercialização da mercadoria.
Tamanho mínimo: 1
Tamanho máximo: 20")
+ /**
+ * Unidade de medida utilizada na comercialização da mercadoria.
Tamanho mínimo: 1
Tamanho máximo: 20
+ **/
+ private String unidadeComercial = null;
+
+ @XmlElement(name = "quantidadeComercial", required = true)
+ @ApiModelProperty(example = "100.5", required = true, value = "Quantidade da mercadoria na unidade de medida comercial.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Quantidade da mercadoria na unidade de medida comercial.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private String quantidadeComercial = null;
+
+ @XmlElement(name = "quantidadeMedidaEstatistica", required = true)
+ @ApiModelProperty(example = "12.12345", required = true, value = "Quantidade na unidade de medida estatística associada à NCM do produto.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Quantidade na unidade de medida estatística associada à NCM do produto.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private String quantidadeMedidaEstatistica = null;
+
+ @XmlElement(name = "pesoLiquido", required = true)
+ @ApiModelProperty(example = "100", required = true, value = "Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ /**
+ * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.
Tamanho: 9,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private String pesoLiquido = null;
+
+ @XmlElement(name = "moedaNegociada", required = true)
+ @ApiModelProperty(required = true, value = "")
+ @Valid
+ private MoedaNegociadaCover moedaNegociada = null;
+
+ @XmlElement(name = "valorUnitarioMoedaNegociada", required = true)
+ @ApiModelProperty(example = "10", required = true, value = "Valor unitário da mercadoria na condição de venda.
Tamanho: 13,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor unitário da mercadoria na condição de venda.
Tamanho: 13,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private String valorUnitarioMoedaNegociada = null;
+
+ @XmlElement(name = "descricao")
+ @ApiModelProperty(example = "Texto de exemplo.", value = "Descrição complementar da mercadoria.
Tamanho mínimo: 0
Tamanho máximo: 4000")
+ /**
+ * Descrição complementar da mercadoria.
Tamanho mínimo: 0
Tamanho máximo: 4000
+ **/
+ private String descricao = null;
+
+ /**
+ * Get tipoAplicacao
+ *
+ * @return tipoAplicacao
+ **/
+ @JsonProperty("tipoAplicacao")
+ @NotNull
+ public TipoAplicacaoCover getTipoAplicacao() {
+ return tipoAplicacao;
+ }
+
+ public void setTipoAplicacao(TipoAplicacaoCover tipoAplicacao) {
+ this.tipoAplicacao = tipoAplicacao;
+ }
+
+ public MercadoriaCover tipoAplicacao(TipoAplicacaoCover tipoAplicacao) {
+ this.tipoAplicacao = tipoAplicacao;
+ return this;
+ }
+
+ /**
+ * Indica se a mercadoria é nova ou usada.<br>Domínio:
+ *
+ * @return condicao
+ **/
+ @JsonProperty("condicao")
+ @NotNull
+ public String getCondicao() {
+ if (condicao == null) {
+ return null;
+ }
+ return condicao.value();
+ }
+
+ public void setCondicao(CondicaoEnum condicao) {
+ this.condicao = condicao;
+ }
+
+ public MercadoriaCover condicao(CondicaoEnum condicao) {
+ this.condicao = condicao;
+ return this;
+ }
+
+ /**
+ * Unidade de medida utilizada na comercialização da mercadoria.<br>Tamanho mínimo: 1<br>Tamanho máximo: 20
+ *
+ * @return unidadeComercial
+ **/
+ @JsonProperty("unidadeComercial")
+ @NotNull
+ public String getUnidadeComercial() {
+ return unidadeComercial;
+ }
+
+ public void setUnidadeComercial(String unidadeComercial) {
+ this.unidadeComercial = unidadeComercial;
+ }
+
+ public MercadoriaCover unidadeComercial(String unidadeComercial) {
+ this.unidadeComercial = unidadeComercial;
+ return this;
+ }
+
+ /**
+ * Quantidade da mercadoria na unidade de medida comercial.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return quantidadeComercial
+ **/
+ @JsonProperty("quantidadeComercial")
+ @NotNull
+ public String getQuantidadeComercial() {
+ return quantidadeComercial;
+ }
+
+ public void setQuantidadeComercial(String quantidadeComercial) {
+ this.quantidadeComercial = quantidadeComercial;
+ }
+
+ public MercadoriaCover quantidadeComercial(String quantidadeComercial) {
+ this.quantidadeComercial = quantidadeComercial;
+ return this;
+ }
+
+ /**
+ * Quantidade na unidade de medida estatística associada à NCM do produto.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return quantidadeMedidaEstatistica
+ **/
+ @JsonProperty("quantidadeMedidaEstatistica")
+ @NotNull
+ public String getQuantidadeMedidaEstatistica() {
+ return quantidadeMedidaEstatistica;
+ }
+
+ public void setQuantidadeMedidaEstatistica(String quantidadeMedidaEstatistica) {
+ this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica;
+ }
+
+ public MercadoriaCover quantidadeMedidaEstatistica(String quantidadeMedidaEstatistica) {
+ this.quantidadeMedidaEstatistica = quantidadeMedidaEstatistica;
+ return this;
+ }
+
+ /**
+ * Peso líquido, em quilogramas, que corresponde ao quantitativo total das mercadorias do item.<br>Tamanho: 9,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return pesoLiquido
+ **/
+ @JsonProperty("pesoLiquido")
+ @NotNull
+ public String getPesoLiquido() {
+ return pesoLiquido;
+ }
+
+ public void setPesoLiquido(String pesoLiquido) {
+ this.pesoLiquido = pesoLiquido;
+ }
+
+ public MercadoriaCover pesoLiquido(String pesoLiquido) {
+ this.pesoLiquido = pesoLiquido;
+ return this;
+ }
+
+ /**
+ * Get moedaNegociada
+ *
+ * @return moedaNegociada
+ **/
+ @JsonProperty("moedaNegociada")
+ @NotNull
+ public MoedaNegociadaCover getMoedaNegociada() {
+ return moedaNegociada;
+ }
+
+ public void setMoedaNegociada(MoedaNegociadaCover moedaNegociada) {
+ this.moedaNegociada = moedaNegociada;
+ }
+
+ public MercadoriaCover moedaNegociada(MoedaNegociadaCover moedaNegociada) {
+ this.moedaNegociada = moedaNegociada;
+ return this;
+ }
+
+ /**
+ * Valor unitário da mercadoria na condição de venda.<br>Tamanho: 13,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorUnitarioMoedaNegociada
+ **/
+ @JsonProperty("valorUnitarioMoedaNegociada")
+ @NotNull
+ public String getValorUnitarioMoedaNegociada() {
+ return valorUnitarioMoedaNegociada;
+ }
+
+ public void setValorUnitarioMoedaNegociada(String valorUnitarioMoedaNegociada) {
+ this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada;
+ }
+
+ public MercadoriaCover valorUnitarioMoedaNegociada(String valorUnitarioMoedaNegociada) {
+ this.valorUnitarioMoedaNegociada = valorUnitarioMoedaNegociada;
+ return this;
+ }
+
+ /**
+ * Descrição complementar da mercadoria.<br>Tamanho mínimo: 0<br>Tamanho máximo: 4000
+ *
+ * @return descricao
+ **/
+ @JsonProperty("descricao")
+ public String getDescricao() {
+ return descricao;
+ }
+
+ public void setDescricao(String descricao) {
+ this.descricao = descricao;
+ }
+
+ public MercadoriaCover descricao(String descricao) {
+ this.descricao = descricao;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MercadoriaCover {\n" +
+ " tipoAplicacao: " + toIndentedString(tipoAplicacao) + "\n" +
+ " condicao: " + toIndentedString(condicao) + "\n" +
+ " unidadeComercial: " + toIndentedString(unidadeComercial) + "\n" +
+ " quantidadeComercial: " + toIndentedString(quantidadeComercial) + "\n" +
+ " quantidadeMedidaEstatistica: " + toIndentedString(quantidadeMedidaEstatistica) + "\n" +
+ " pesoLiquido: " + toIndentedString(pesoLiquido) + "\n" +
+ " moedaNegociada: " + toIndentedString(moedaNegociada) + "\n" +
+ " valorUnitarioMoedaNegociada: " + toIndentedString(valorUnitarioMoedaNegociada) + "\n" +
+ " descricao: " + toIndentedString(descricao) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaValoresCalculadosItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaValoresCalculadosItemCover.java
new file mode 100644
index 0000000..f6d93d6
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MercadoriaValoresCalculadosItemCover.java
@@ -0,0 +1,103 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MercadoriaValoresCalculadosItemCover", propOrder =
+ {"valorLocalEmbarqueBRL", "valorAduaneiroBRL"
+ })
+
+@XmlRootElement(name = "MercadoriaValoresCalculadosItemCover")
+/**
+ * Valores da Mercadoria.
+ **/
+@ApiModel(description = "Valores da Mercadoria.")
+public class MercadoriaValoresCalculadosItemCover {
+
+ @XmlElement(name = "valorLocalEmbarqueBRL")
+ @ApiModelProperty(example = "20.666", value = "Valor total da mercadoria no local de embarque em R$ (Reais).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor total da mercadoria no local de embarque em R$ (Reais).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorLocalEmbarqueBRL = null;
+
+ @XmlElement(name = "valorAduaneiroBRL")
+ @ApiModelProperty(example = "20.666", value = "Valor total aduaneiro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor total aduaneiro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorAduaneiroBRL = null;
+
+ /**
+ * Valor total da mercadoria no local de embarque em R$ (Reais). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorLocalEmbarqueBRL
+ **/
+ @JsonProperty("valorLocalEmbarqueBRL")
+ public BigDecimal getValorLocalEmbarqueBRL() {
+ return valorLocalEmbarqueBRL;
+ }
+
+ public void setValorLocalEmbarqueBRL(BigDecimal valorLocalEmbarqueBRL) {
+ this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL;
+ }
+
+ public MercadoriaValoresCalculadosItemCover valorLocalEmbarqueBRL(BigDecimal valorLocalEmbarqueBRL) {
+ this.valorLocalEmbarqueBRL = valorLocalEmbarqueBRL;
+ return this;
+ }
+
+ /**
+ * Valor total aduaneiro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorAduaneiroBRL
+ **/
+ @JsonProperty("valorAduaneiroBRL")
+ public BigDecimal getValorAduaneiroBRL() {
+ return valorAduaneiroBRL;
+ }
+
+ public void setValorAduaneiroBRL(BigDecimal valorAduaneiroBRL) {
+ this.valorAduaneiroBRL = valorAduaneiroBRL;
+ }
+
+ public MercadoriaValoresCalculadosItemCover valorAduaneiroBRL(BigDecimal valorAduaneiroBRL) {
+ this.valorAduaneiroBRL = valorAduaneiroBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MercadoriaValoresCalculadosItemCover {\n" +
+ " valorLocalEmbarqueBRL: " + toIndentedString(valorLocalEmbarqueBRL) + "\n" +
+ " valorAduaneiroBRL: " + toIndentedString(valorAduaneiroBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MetodoValoracaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MetodoValoracaoCover.java
new file mode 100644
index 0000000..84b72f8
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MetodoValoracaoCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MetodoValoracaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "MetodoValoracaoCover")
+/**
+ * Método de valoração.
+ **/
+@ApiModel(description = "Método de valoração.")
+public class MetodoValoracaoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Código do método de valoração.
Domínio: Tabela de Métodos de Valoração Siscomex
Valor mínimo: 1
Valor máximo: 99999
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código do método de valoração.
Domínio: Tabela de Métodos de Valoração Siscomex
Valor mínimo: 1
Valor máximo: 99999
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do método de valoração.<br>Domínio: Tabela de Métodos de Valoração Siscomex<br>Valor mínimo: 1<br>Valor máximo: 99999<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public MetodoValoracaoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MetodoValoracaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaAcrescimoDeducaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaAcrescimoDeducaoCover.java
new file mode 100644
index 0000000..dc90486
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaAcrescimoDeducaoCover.java
@@ -0,0 +1,102 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MoedaAcrescimoDeducaoCover", propOrder =
+ {"codigo", "valor"
+ })
+
+@XmlRootElement(name = "MoedaAcrescimoDeducaoCover")
+/**
+ * Dados da moeda utilizada no Acréscimo ou Dedução.
+ **/
+@ApiModel(description = "Dados da moeda utilizada no Acréscimo ou Dedução.")
+public class MoedaAcrescimoDeducaoCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda negociada (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da Moeda negociada (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "valor", required = true)
+ @ApiModelProperty(example = "100.12", required = true, value = "Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ /**
+ * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private String valor = null;
+
+ /**
+ * Código da Moeda negociada (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public MoedaAcrescimoDeducaoCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Valor, na moeda negociada, acrescentado no/deduzido do valor da condição de venda.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ @NotNull
+ public String getValor() {
+ return valor;
+ }
+
+ public void setValor(String valor) {
+ this.valor = valor;
+ }
+
+ public MoedaAcrescimoDeducaoCover valor(String valor) {
+ this.valor = valor;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MoedaAcrescimoDeducaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaNegociadaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaNegociadaCover.java
new file mode 100644
index 0000000..1a253a3
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MoedaNegociadaCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MoedaNegociadaCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "MoedaNegociadaCover")
+/**
+ * Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
+ **/
+@ApiModel(description = "Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).")
+public class MoedaNegociadaCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "USD", required = true, value = "Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).
Tamanho: 3
Formato: 'AAA'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ /**
+ * Código da Moeda utilizada para a negociação da mercadoria e usada na expedição da fatura comercial (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public MoedaNegociadaCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MoedaNegociadaCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MotivoSemCoberturaCambialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MotivoSemCoberturaCambialCover.java
new file mode 100644
index 0000000..32bab88
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/MotivoSemCoberturaCambialCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MotivoSemCoberturaCambialCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "MotivoSemCoberturaCambialCover")
+/**
+ * Motivo para ausência de cobertura cambial.
Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\".
+ **/
+@ApiModel(description = "Motivo para ausência de cobertura cambial.
Observação: Deve ser preenchido quando a cobertura cambial for \"sem cobertura\".")
+public class MotivoSemCoberturaCambialCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "52", value = "Código do Motivo para ausência de cobertura cambial.
Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99999")
+ /**
+ * Código do Motivo para ausência de cobertura cambial.
Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/
Valor mínimo: 1
Valor máximo: 99999
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do Motivo para ausência de cobertura cambial.<br>Domínio: Tabela de Motivos Sem Cobertura do Siscomex. - https://api-docs.portalunico.siscomex.gov.br/<br>Valor mínimo: 1<br>Valor máximo: 99999
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public MotivoSemCoberturaCambialCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MotivoSemCoberturaCambialCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisExportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisExportadorCover.java
new file mode 100644
index 0000000..4502d97
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisExportadorCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaisExportadorCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "PaisExportadorCover")
+/**
+ * País de procedência da mercadoria.
+ **/
+@ApiModel(description = "País de procedência da mercadoria.")
+public class PaisExportadorCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'")
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA'
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public PaisExportadorCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PaisExportadorCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisFabricanteCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisFabricanteCover.java
new file mode 100644
index 0000000..0af2c67
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/PaisFabricanteCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PaisFabricanteCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "PaisFabricanteCover")
+/**
+ * País de origem do fabricante.
+ **/
+@ApiModel(description = "País de origem do fabricante.")
+public class PaisFabricanteCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "BR", required = true, value = "Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'")
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do país de origem no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA'
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public PaisFabricanteCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PaisFabricanteCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ProdutoConsultaItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ProdutoConsultaItemCover.java
new file mode 100644
index 0000000..7c3f6a9
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/ProdutoConsultaItemCover.java
@@ -0,0 +1,126 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ProdutoConsultaItemCover", propOrder =
+ {"codigo", "versao", "niResponsavel"
+ })
+
+@XmlRootElement(name = "ProdutoConsultaItemCover")
+/**
+ * Dados do Produto.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Dados do Produto.
Origem: Sistema Catálogo de Produtos - https://api-docs.portalunico.siscomex.gov.br/")
+public class ProdutoConsultaItemCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "10", value = "Código do produto.
Formato: Inteiro, com até 10 dígitos")
+ /**
+ * Código do produto.
Formato: Inteiro, com até 10 dígitos
+ **/
+ private String codigo = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão do produto.
Tamanho mínimo: 1
Tamanho máximo: 7")
+ /**
+ * Versão do produto.
Tamanho mínimo: 1
Tamanho máximo: 7
+ **/
+ private String versao = null;
+
+ @XmlElement(name = "niResponsavel")
+ @ApiModelProperty(example = "00000000", value = "
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número de Identificação:
Caso seja CNPJ (Raiz):
Tamanho: 8
Formato: 'NNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String niResponsavel = null;
+
+ /**
+ * Código do produto.<br>Formato: Inteiro, com até 10 dígitos
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public ProdutoConsultaItemCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+ /**
+ * Versão do produto.<br>Tamanho mínimo: 1<br>Tamanho máximo: 7
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public String getVersao() {
+ return versao;
+ }
+
+ public void setVersao(String versao) {
+ this.versao = versao;
+ }
+
+ public ProdutoConsultaItemCover versao(String versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * <br>Número de Identificação: <br>Caso seja CNPJ (Raiz): <br>Tamanho: 8<br>Formato: 'NNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return niResponsavel
+ **/
+ @JsonProperty("niResponsavel")
+ public String getNiResponsavel() {
+ return niResponsavel;
+ }
+
+ public void setNiResponsavel(String niResponsavel) {
+ this.niResponsavel = niResponsavel;
+ }
+
+ public ProdutoConsultaItemCover niResponsavel(String niResponsavel) {
+ this.niResponsavel = niResponsavel;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ProdutoConsultaItemCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " niResponsavel: " + toIndentedString(niResponsavel) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RegimeCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RegimeCover.java
new file mode 100644
index 0000000..2391c06
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RegimeCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RegimeCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "RegimeCover")
+/**
+ * Regime tributário.
+ **/
+@ApiModel(description = "Regime tributário.")
+public class RegimeCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "1", required = true, value = "Código do regime tributário.
Dominio: Regimes tributários existentes no sistema Tratamento Tributário.")
+ /**
+ * Código do regime tributário.
Dominio: Regimes tributários existentes no sistema Tratamento Tributário.
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do regime tributário.<br>Dominio: Regimes tributários existentes no sistema Tratamento Tributário.
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public RegimeCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class RegimeCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RespostaApiErro.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RespostaApiErro.java
new file mode 100644
index 0000000..7fd2620
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/RespostaApiErro.java
@@ -0,0 +1,160 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RespostaApiErro", propOrder =
+ {"message", "identificacao", "errors", "links"
+ })
+
+@XmlRootElement(name = "RespostaApiErro")
+public class RespostaApiErro {
+
+ @XmlElement(name = "message")
+ @ApiModelProperty(example = "Mensagem de exemplo.", value = "Mensagem de resposta do resultado da operação.")
+ /**
+ * Mensagem de resposta do resultado da operação.
+ **/
+ private String message = null;
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IdentificacaoDuimpRespostaApi identificacao = null;
+
+ @XmlElement(name = "errors")
+ @ApiModelProperty(value = "Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.")
+ @Valid
+ /**
+ * Conjunto de erros de validação dos campos. Devolvido apenas para erros HTTP 422.
Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.
+ **/
+ private List
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.")
+ @Valid
+ /**
+ * Operações disponíveis sobre o recurso.
Lista devolvida apenas quando a operação realizada sobre um recurso permite a realização de operações relacionadas.
+ **/
+ private List
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ /**
+ * Valor do seguro em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private String valorBRL = null;
+
+ /**
+ * Valor do seguro em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorBRL
+ **/
+ @JsonProperty("valorBRL")
+ public String getValorBRL() {
+ return valorBRL;
+ }
+
+ public void setValorBRL(String valorBRL) {
+ this.valorBRL = valorBRL;
+ }
+
+ public SeguroConsultaItemCover valorBRL(String valorBRL) {
+ this.valorBRL = valorBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class SeguroConsultaItemCover {\n" +
+ " valorBRL: " + toIndentedString(valorBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TipoAplicacaoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TipoAplicacaoCover.java
new file mode 100644
index 0000000..5382cca
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TipoAplicacaoCover.java
@@ -0,0 +1,130 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TipoAplicacaoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "TipoAplicacaoCover")
+/**
+ * Destinação da mercadoria.
+ **/
+@ApiModel(description = "Destinação da mercadoria.")
+public class TipoAplicacaoCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("CONSUMO")
+ @JsonProperty("CONSUMO")
+ CONSUMO("CONSUMO"),
+
+ @XmlEnumValue("INCORPORACAO_ATIVO_FIXO")
+ @JsonProperty("INCORPORACAO_ATIVO_FIXO")
+ INCORPORACAO_ATIVO_FIXO("INCORPORACAO_ATIVO_FIXO"),
+
+ @XmlEnumValue("INDUSTRIALIZACAO")
+ @JsonProperty("INDUSTRIALIZACAO")
+ INDUSTRIALIZACAO("INDUSTRIALIZACAO"),
+
+ @XmlEnumValue("REVENDA")
+ @JsonProperty("REVENDA")
+ REVENDA("REVENDA"),
+
+ @XmlEnumValue("OUTRA")
+ @JsonProperty("OUTRA")
+ OUTRA("OUTRA");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "CONSUMO", required = true, value = "Destinação da mercadoria de acordo com o domínio a seguir.
Domínio:")
+ /**
+ * Destinação da mercadoria de acordo com o domínio a seguir.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Destinação da mercadoria de acordo com o domínio a seguir.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public TipoAplicacaoCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TipoAplicacaoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCalculadoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCalculadoItemCover.java
new file mode 100644
index 0000000..9795338
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCalculadoItemCover.java
@@ -0,0 +1,195 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoCalculadoItemCover", propOrder =
+ {"tipo", "valoresBRL", "memoriaCalculo"
+ })
+
+@XmlRootElement(name = "TributoCalculadoItemCover")
+/**
+ * Valores do cálculo do tributo e a memória de cálculo.
+ **/
+@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.")
+public class TributoCalculadoItemCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("II")
+ @JsonProperty("II")
+ II("II"),
+
+ @XmlEnumValue("IPI")
+ @JsonProperty("IPI")
+ IPI("IPI"),
+
+ @XmlEnumValue("PIS")
+ @JsonProperty("PIS")
+ PIS("PIS"),
+
+ @XmlEnumValue("COFINS")
+ @JsonProperty("COFINS")
+ COFINS("COFINS"),
+
+ @XmlEnumValue("CIDE")
+ @JsonProperty("CIDE")
+ CIDE("CIDE"),
+
+ @XmlEnumValue("ANTIDUMPING")
+ @JsonProperty("ANTIDUMPING")
+ ANTIDUMPING("ANTIDUMPING"),
+
+ @XmlEnumValue("MULTA_COM_REDUCAO")
+ @JsonProperty("MULTA_COM_REDUCAO")
+ MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"),
+
+ @XmlEnumValue("MULTA_SEM_REDUCAO")
+ @JsonProperty("MULTA_SEM_REDUCAO")
+ MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"),
+
+ @XmlEnumValue("TAXA_UTILIZACAO")
+ @JsonProperty("TAXA_UTILIZACAO")
+ TAXA_UTILIZACAO("TAXA_UTILIZACAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
Domínio:")
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "valoresBRL")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ValoresTributoItemCover valoresBRL = null;
+
+ @XmlElement(name = "memoriaCalculo")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MemoriaCalculoItemCover memoriaCalculo = null;
+
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public TributoCalculadoItemCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get valoresBRL
+ *
+ * @return valoresBRL
+ **/
+ @JsonProperty("valoresBRL")
+ public ValoresTributoItemCover getValoresBRL() {
+ return valoresBRL;
+ }
+
+ public void setValoresBRL(ValoresTributoItemCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ }
+
+ public TributoCalculadoItemCover valoresBRL(ValoresTributoItemCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ return this;
+ }
+
+ /**
+ * Get memoriaCalculo
+ *
+ * @return memoriaCalculo
+ **/
+ @JsonProperty("memoriaCalculo")
+ public MemoriaCalculoItemCover getMemoriaCalculo() {
+ return memoriaCalculo;
+ }
+
+ public void setMemoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) {
+ this.memoriaCalculo = memoriaCalculo;
+ }
+
+ public TributoCalculadoItemCover memoriaCalculo(MemoriaCalculoItemCover memoriaCalculo) {
+ this.memoriaCalculo = memoriaCalculo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoCalculadoItemCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " valoresBRL: " + toIndentedString(valoresBRL) + "\n" +
+ " memoriaCalculo: " + toIndentedString(memoriaCalculo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCover.java
new file mode 100644
index 0000000..82e917f
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoCover.java
@@ -0,0 +1,144 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "TributoCover")
+/**
+ * Dados de um tributo.
+ **/
+@ApiModel(description = "Dados de um tributo.")
+public class TributoCover {
+
+
+ @XmlType(name = "CodigoEnum")
+ @XmlEnum(String.class)
+ public enum CodigoEnum {
+
+ @XmlEnumValue("II")
+ @JsonProperty("II")
+ II("II"),
+
+ @XmlEnumValue("IPI")
+ @JsonProperty("IPI")
+ IPI("IPI"),
+
+ @XmlEnumValue("PIS")
+ @JsonProperty("PIS")
+ PIS("PIS"),
+
+ @XmlEnumValue("COFINS")
+ @JsonProperty("COFINS")
+ COFINS("COFINS"),
+
+ @XmlEnumValue("CIDE")
+ @JsonProperty("CIDE")
+ CIDE("CIDE"),
+
+ @XmlEnumValue("ANTIDUMPING")
+ @JsonProperty("ANTIDUMPING")
+ ANTIDUMPING("ANTIDUMPING"),
+
+ @XmlEnumValue("MEDIDAS")
+ @JsonProperty("MEDIDAS")
+ MEDIDAS("MEDIDAS"),
+
+ @XmlEnumValue("SALVAGUARDA")
+ @JsonProperty("SALVAGUARDA")
+ SALVAGUARDA("SALVAGUARDA"),
+
+ @XmlEnumValue("MULTA")
+ @JsonProperty("MULTA")
+ MULTA("MULTA");
+
+
+ private final String value;
+
+ CodigoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static CodigoEnum fromValue(String v) {
+ for (CodigoEnum b : CodigoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to CodigoEnum");
+ }
+ }
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "IPI", value = "Código do regime tributário.
Domínio:")
+ /**
+ * Código do regime tributário.
Domínio:
+ **/
+ private CodigoEnum codigo = null;
+
+ /**
+ * Código do regime tributário.<br>Domínio:
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ if (codigo == null) {
+ return null;
+ }
+ return codigo.value();
+ }
+
+ public void setCodigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ }
+
+ public TributoCover codigo(CodigoEnum codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoItemCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoItemCover.java
new file mode 100644
index 0000000..b441aac
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_itens/model/TributoItemCover.java
@@ -0,0 +1,152 @@
+package br.gov.siscomex.portalunico.duimp_balanca_itens.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoItemCover", propOrder =
+ {"tributo", "regime", "fundamento", "atributos"
+ })
+
+@XmlRootElement(name = "TributoItemCover")
+/**
+ * Lista de Tributos.
Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de Tributos.
Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/")
+public class TributoItemCover {
+
+ @XmlElement(name = "tributo")
+ @ApiModelProperty(value = "")
+ @Valid
+ private TributoCover tributo = null;
+
+ @XmlElement(name = "regime")
+ @ApiModelProperty(value = "")
+ @Valid
+ private RegimeCover regime = null;
+
+ @XmlElement(name = "fundamento")
+ @ApiModelProperty(value = "")
+ @Valid
+ private FundamentoCover fundamento = null;
+
+ @XmlElement(name = "atributos")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+@ApiModel(description = "Lista de Tributos.
Origem: Sistema Tratamento Tributário - https://api-docs.portalunico.siscomex.gov.br/")
+public class TributosConsultaItemCover {
+
+ @XmlElement(name = "mercadoria")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MercadoriaValoresCalculadosItemCover mercadoria = null;
+
+ @XmlElement(name = "tributosAplicados")
+ @ApiModelProperty(value = "Para Duimp de situação especial de despacho cujo motivo indicar cobrança de tributos suspensos: o cálculo dos tributos será feito em conformidade com os fundamentos legais informados na declaração de admissão")
+ @Valid
+ /**
+ * Para Duimp de situação especial de despacho cujo motivo indicar cobrança de tributos suspensos: o cálculo dos tributos será feito em conformidade com os fundamentos legais informados na declaração de admissão
+ **/
+ private List
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor Calculado do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal calculado = null;
+
+ @XmlElement(name = "aReduzir")
+ @ApiModelProperty(example = "165.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal aReduzir = null;
+
+ @XmlElement(name = "devido")
+ @ApiModelProperty(example = "16.7", value = "Valor Devido do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor Devido do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal devido = null;
+
+ @XmlElement(name = "suspenso")
+ @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal suspenso = null;
+
+ @XmlElement(name = "aRecolher")
+ @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal aRecolher = null;
+
+ @XmlElement(name = "originalDevido")
+ @ApiModelProperty(example = "16.7", value = "Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal originalDevido = null;
+
+ @XmlElement(name = "calculadoPagProporcional")
+ @ApiModelProperty(example = "16.7", value = "Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal calculadoPagProporcional = null;
+
+ /**
+ * Valor Calculado do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return calculado
+ **/
+ @JsonProperty("calculado")
+ public BigDecimal getCalculado() {
+ return calculado;
+ }
+
+ public void setCalculado(BigDecimal calculado) {
+ this.calculado = calculado;
+ }
+
+ public ValoresTributoItemCover calculado(BigDecimal calculado) {
+ this.calculado = calculado;
+ return this;
+ }
+
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aReduzir
+ **/
+ @JsonProperty("aReduzir")
+ public BigDecimal getAReduzir() {
+ return aReduzir;
+ }
+
+ public void setAReduzir(BigDecimal aReduzir) {
+ this.aReduzir = aReduzir;
+ }
+
+ public ValoresTributoItemCover aReduzir(BigDecimal aReduzir) {
+ this.aReduzir = aReduzir;
+ return this;
+ }
+
+ /**
+ * Valor Devido do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return devido
+ **/
+ @JsonProperty("devido")
+ public BigDecimal getDevido() {
+ return devido;
+ }
+
+ public void setDevido(BigDecimal devido) {
+ this.devido = devido;
+ }
+
+ public ValoresTributoItemCover devido(BigDecimal devido) {
+ this.devido = devido;
+ return this;
+ }
+
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return suspenso
+ **/
+ @JsonProperty("suspenso")
+ public BigDecimal getSuspenso() {
+ return suspenso;
+ }
+
+ public void setSuspenso(BigDecimal suspenso) {
+ this.suspenso = suspenso;
+ }
+
+ public ValoresTributoItemCover suspenso(BigDecimal suspenso) {
+ this.suspenso = suspenso;
+ return this;
+ }
+
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aRecolher
+ **/
+ @JsonProperty("aRecolher")
+ public BigDecimal getARecolher() {
+ return aRecolher;
+ }
+
+ public void setARecolher(BigDecimal aRecolher) {
+ this.aRecolher = aRecolher;
+ }
+
+ public ValoresTributoItemCover aRecolher(BigDecimal aRecolher) {
+ this.aRecolher = aRecolher;
+ return this;
+ }
+
+ /**
+ * Valor do Tributo Originalmente Devido em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return originalDevido
+ **/
+ @JsonProperty("originalDevido")
+ public BigDecimal getOriginalDevido() {
+ return originalDevido;
+ }
+
+ public void setOriginalDevido(BigDecimal originalDevido) {
+ this.originalDevido = originalDevido;
+ }
+
+ public ValoresTributoItemCover originalDevido(BigDecimal originalDevido) {
+ this.originalDevido = originalDevido;
+ return this;
+ }
+
+ /**
+ * Valor do Tributo Calculado do Pagamento Proporcional em R$ (Reais), para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return calculadoPagProporcional
+ **/
+ @JsonProperty("calculadoPagProporcional")
+ public BigDecimal getCalculadoPagProporcional() {
+ return calculadoPagProporcional;
+ }
+
+ public void setCalculadoPagProporcional(BigDecimal calculadoPagProporcional) {
+ this.calculadoPagProporcional = calculadoPagProporcional;
+ }
+
+ public ValoresTributoItemCover calculadoPagProporcional(BigDecimal calculadoPagProporcional) {
+ this.calculadoPagProporcional = calculadoPagProporcional;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ValoresTributoItemCover {\n" +
+ " calculado: " + toIndentedString(calculado) + "\n" +
+ " aReduzir: " + toIndentedString(aReduzir) + "\n" +
+ " devido: " + toIndentedString(devido) + "\n" +
+ " suspenso: " + toIndentedString(suspenso) + "\n" +
+ " aRecolher: " + toIndentedString(aRecolher) + "\n" +
+ " originalDevido: " + toIndentedString(originalDevido) + "\n" +
+ " calculadoPagProporcional: " + toIndentedString(calculadoPagProporcional) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpDadosGeraisApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpDadosGeraisApi.java
new file mode 100644
index 0000000..54811b3
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpDadosGeraisApi.java
@@ -0,0 +1,45 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.api;
+
+import br.gov.siscomex.portalunico.duimp_balanca_principal.model.DuimpBalancaComercialCover;
+import br.gov.siscomex.portalunico.duimp_balanca_principal.model.RespostaApiErroBalanca;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.ws.rs.DefaultValue;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+
+/**
+ * Declaração Única de Importação - Balança Comercial - Dados Gerais e Totalizadores
+ *
+ *
Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken, @ApiParam(value = "Data inicial de desembaraço a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'
Atenção:
Este abributo deve ser utilizado apenas na recuperação da primeira página.
Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-inicial-desembaraco") String dataInicialDesembaraco, @ApiParam(value = "Data final de desembaraço a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'
Atenção:
Este abributo deve ser utilizado apenas na recuperação da primeira página.
Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-final-desembaraco") String dataFinalDesembaraco, @ApiParam(value = "Data inicial da última atualização a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'
Atenção:
Este abributo deve ser utilizado apenas na recuperação da primeira página.
Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-inicial-atualizacao") String dataInicialAtualizacao, @ApiParam(value = "Data final da última atualização a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'
Atenção:
Este abributo deve ser utilizado apenas na recuperação da primeira página.
Nas demais páginas deve ser utilizado o atributo id-consulta fornecido no header da resposta da primeira página!") @QueryParam("data-final-atualizacao") String dataFinalAtualizacao, @ApiParam(value = "Identificador único da consulta.
O valor deste parâmetro é recuperado no header da primeira página de uma nova busca com filtro.
Este atributo é obrigatório para recuperar as próximas páginas da consulta") @QueryParam("id-consulta") String idConsulta, @ApiParam(value = "Deslocamento do primeiro elemento a ser recebido na consulta.
O valor padrão é zero, para indicar que se deseja receber o primeiro elemento da consulta, sem qualquer deslocamento
Formato: Inteiro, com até 10 dígitos", defaultValue = "0") @DefaultValue("0") @QueryParam("offset") Integer offset, @ApiParam(value = "Tamanho limite da quantidade de dados retornados em uma página.
Formato: Inteiro, com até 10 dígitos", defaultValue = "1000") @DefaultValue("1000") @QueryParam("limit") Integer limit);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpTotalizadoresApi.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpTotalizadoresApi.java
new file mode 100644
index 0000000..24a8c27
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/api/DuimpTotalizadoresApi.java
@@ -0,0 +1,61 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.api;
+
+import br.gov.siscomex.portalunico.duimp_balanca_principal.model.BalancaDuimpSumarioCover;
+import br.gov.siscomex.portalunico.duimp_balanca_principal.model.BalancaDuimpTotaisCover;
+import br.gov.siscomex.portalunico.duimp_balanca_principal.model.RespostaApiErroBalanca;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.constraints.NotNull;
+import javax.ws.rs.GET;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+
+/**
+ * Declaração Única de Importação - Balança Comercial - Dados Gerais e Totalizadores
+ *
+ *
Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-inicial") String dataInicial, @NotNull @ApiParam(value = "Data final de desembaraço a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-final") String dataFinal, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário.
Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Recupera os Totais Gerais: Recupera os totalizadores das Duimps seleciondas utilizando os mesmos parâmetros da Consulta dos Dados Gerais .
+ */
+ @GET
+ @Path("/totalizadores/quantidades-totais")
+ @Produces({"application/json"})
+ @ApiOperation(value = "Recupera os Totais Gerais: Recupera os totalizadores das Duimps seleciondas utilizando os mesmos parâmetros da Consulta dos Dados Gerais .", notes = "", tags = {"Duimp - Totalizadores"})
+ @ApiResponses(value = {
+ @ApiResponse(code = 200, message = "Operação realizada com sucesso", response = BalancaDuimpTotaisCover.class),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 404, message = "Recurso não encontrado", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = RespostaApiErroBalanca.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor", response = RespostaApiErroBalanca.class)})
+ Response obterQuantidadesTotaisUsingGET(@NotNull @ApiParam(value = "Data inicial de desembaraço a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-inicial-desembaraco") String dataInicialDesembaraco, @NotNull @ApiParam(value = "Data final de desembaraço a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-final-desembaraco") String dataFinalDesembaraco, @NotNull @ApiParam(value = "Data inicial da última atualização a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-inicial-atualizacao") String dataInicialAtualizacao, @NotNull @ApiParam(value = "Data final da última atualização a ser considerada no filtro de pesquisa.
Formato: 'AAAA-MM-DD'", required = true) @QueryParam("data-final-atualizacao") String dataFinalAtualizacao, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário.
Este token é recuperado no parâmetro Set-Token no response da autenticação", required = true) @HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF.
Este token é recuperado no parâmetro X-CSRF-Token no response da autenticação", required = true) @HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpSumarioCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpSumarioCover.java
new file mode 100644
index 0000000..beff320
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpSumarioCover.java
@@ -0,0 +1,212 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BalancaDuimpSumarioCover", propOrder =
+ {"dataDesembaraco", "quantidadeTotalDuimp", "quantidadeTotaltensDuimp", "somatorioValorTotalCondicaoVenda", "somatorioValorTotalLocalEmbarque", "somatorioPesoItensDuimp"
+ })
+
+@XmlRootElement(name = "BalancaDuimpSumarioCover")
+/**
+ * Dados do Sumario das Duimps em uma data específica
+ **/
+@ApiModel(description = "Dados do Sumario das Duimps em uma data específica")
+public class BalancaDuimpSumarioCover {
+
+ @XmlElement(name = "dataDesembaraco")
+ @ApiModelProperty(example = "2024-01-31", value = "Data de desembaraço das Duimps selecionadas na data.
Formato: 'AAAA-MM-DD'")
+ /**
+ * Data de desembaraço das Duimps selecionadas na data.
Formato: 'AAAA-MM-DD'
+ **/
+ private String dataDesembaraco = null;
+
+ @XmlElement(name = "quantidadeTotalDuimp")
+ @ApiModelProperty(example = "1000", value = "Quantidade de duimps desembaraçadas na data.
Valor mínimo: 1
Valor máximo: 9999999999")
+ /**
+ * Quantidade de duimps desembaraçadas na data.
Valor mínimo: 1
Valor máximo: 9999999999
+ **/
+ private Long quantidadeTotalDuimp = null;
+
+ @XmlElement(name = "quantidadeTotaltensDuimp")
+ @ApiModelProperty(example = "20000", value = "Soma da quantidade de itens das Duimps selecionadas desembaraçadas na data.
Valor mínimo: 1
Valor máximo: 9999999999")
+ /**
+ * Soma da quantidade de itens das Duimps selecionadas desembaraçadas na data.
Valor mínimo: 1
Valor máximo: 9999999999
+ **/
+ private Long quantidadeTotaltensDuimp = null;
+
+ @XmlElement(name = "somatorioValorTotalCondicaoVenda")
+ @ApiModelProperty(example = "1.1234567", value = "Soma do valor na condição de venda dos Itens das Duimps selecionadas na data.
Atributo de origem no item: item.condicaoVenda.valorMoedaNegociada
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Soma do valor na condição de venda dos Itens das Duimps selecionadas na data.
Atributo de origem no item: item.condicaoVenda.valorMoedaNegociada
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal somatorioValorTotalCondicaoVenda = null;
+
+ @XmlElement(name = "somatorioValorTotalLocalEmbarque")
+ @ApiModelProperty(example = "1.1234567", value = "Soma do valor da mercadoria no local de embarque das Duimp selecionadas na data.
Atributo de origem no item: item.tributos.mercadoria.valorLocalEmbarqueBRL
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Soma do valor da mercadoria no local de embarque das Duimp selecionadas na data.
Atributo de origem no item: item.tributos.mercadoria.valorLocalEmbarqueBRL
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal somatorioValorTotalLocalEmbarque = null;
+
+ @XmlElement(name = "somatorioPesoItensDuimp")
+ @ApiModelProperty(example = "1.12345", value = "Soma do peso líquido dos itens das Duimps selecionadas da data
Atributo de origem no item: item.mercadoria.pesoLiquido
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Soma do peso líquido dos itens das Duimps selecionadas da data
Atributo de origem no item: item.mercadoria.pesoLiquido
Tamanho: 16,5
Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ **/
+ private BigDecimal somatorioPesoItensDuimp = null;
+
+ /**
+ * Data de desembaraço das Duimps selecionadas na data.<br>Formato: 'AAAA-MM-DD'
+ *
+ * @return dataDesembaraco
+ **/
+ @JsonProperty("dataDesembaraco")
+ public String getDataDesembaraco() {
+ return dataDesembaraco;
+ }
+
+ public void setDataDesembaraco(String dataDesembaraco) {
+ this.dataDesembaraco = dataDesembaraco;
+ }
+
+ public BalancaDuimpSumarioCover dataDesembaraco(String dataDesembaraco) {
+ this.dataDesembaraco = dataDesembaraco;
+ return this;
+ }
+
+ /**
+ * Quantidade de duimps desembaraçadas na data.<br>Valor mínimo: 1<br>Valor máximo: 9999999999
+ *
+ * @return quantidadeTotalDuimp
+ **/
+ @JsonProperty("quantidadeTotalDuimp")
+ public Long getQuantidadeTotalDuimp() {
+ return quantidadeTotalDuimp;
+ }
+
+ public void setQuantidadeTotalDuimp(Long quantidadeTotalDuimp) {
+ this.quantidadeTotalDuimp = quantidadeTotalDuimp;
+ }
+
+ public BalancaDuimpSumarioCover quantidadeTotalDuimp(Long quantidadeTotalDuimp) {
+ this.quantidadeTotalDuimp = quantidadeTotalDuimp;
+ return this;
+ }
+
+ /**
+ * Soma da quantidade de itens das Duimps selecionadas desembaraçadas na data.<br>Valor mínimo: 1<br>Valor máximo: 9999999999
+ *
+ * @return quantidadeTotaltensDuimp
+ **/
+ @JsonProperty("quantidadeTotaltensDuimp")
+ public Long getQuantidadeTotaltensDuimp() {
+ return quantidadeTotaltensDuimp;
+ }
+
+ public void setQuantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) {
+ this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp;
+ }
+
+ public BalancaDuimpSumarioCover quantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) {
+ this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp;
+ return this;
+ }
+
+ /**
+ * Soma do valor na condição de venda dos Itens das Duimps selecionadas na data. <br>Atributo de origem no item: item.condicaoVenda.valorMoedaNegociada<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return somatorioValorTotalCondicaoVenda
+ **/
+ @JsonProperty("somatorioValorTotalCondicaoVenda")
+ public BigDecimal getSomatorioValorTotalCondicaoVenda() {
+ return somatorioValorTotalCondicaoVenda;
+ }
+
+ public void setSomatorioValorTotalCondicaoVenda(BigDecimal somatorioValorTotalCondicaoVenda) {
+ this.somatorioValorTotalCondicaoVenda = somatorioValorTotalCondicaoVenda;
+ }
+
+ public BalancaDuimpSumarioCover somatorioValorTotalCondicaoVenda(BigDecimal somatorioValorTotalCondicaoVenda) {
+ this.somatorioValorTotalCondicaoVenda = somatorioValorTotalCondicaoVenda;
+ return this;
+ }
+
+ /**
+ * Soma do valor da mercadoria no local de embarque das Duimp selecionadas na data.<br>Atributo de origem no item: item.tributos.mercadoria.valorLocalEmbarqueBRL<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return somatorioValorTotalLocalEmbarque
+ **/
+ @JsonProperty("somatorioValorTotalLocalEmbarque")
+ public BigDecimal getSomatorioValorTotalLocalEmbarque() {
+ return somatorioValorTotalLocalEmbarque;
+ }
+
+ public void setSomatorioValorTotalLocalEmbarque(BigDecimal somatorioValorTotalLocalEmbarque) {
+ this.somatorioValorTotalLocalEmbarque = somatorioValorTotalLocalEmbarque;
+ }
+
+ public BalancaDuimpSumarioCover somatorioValorTotalLocalEmbarque(BigDecimal somatorioValorTotalLocalEmbarque) {
+ this.somatorioValorTotalLocalEmbarque = somatorioValorTotalLocalEmbarque;
+ return this;
+ }
+
+ /**
+ * Soma do peso líquido dos itens das Duimps selecionadas da data<br>Atributo de origem no item: item.mercadoria.pesoLiquido<br>Tamanho: 16,5<br>Formato: Decimal, com até 5 casas decimais separadas por ponto.
+ *
+ * @return somatorioPesoItensDuimp
+ **/
+ @JsonProperty("somatorioPesoItensDuimp")
+ public BigDecimal getSomatorioPesoItensDuimp() {
+ return somatorioPesoItensDuimp;
+ }
+
+ public void setSomatorioPesoItensDuimp(BigDecimal somatorioPesoItensDuimp) {
+ this.somatorioPesoItensDuimp = somatorioPesoItensDuimp;
+ }
+
+ public BalancaDuimpSumarioCover somatorioPesoItensDuimp(BigDecimal somatorioPesoItensDuimp) {
+ this.somatorioPesoItensDuimp = somatorioPesoItensDuimp;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class BalancaDuimpSumarioCover {\n" +
+ " dataDesembaraco: " + toIndentedString(dataDesembaraco) + "\n" +
+ " quantidadeTotalDuimp: " + toIndentedString(quantidadeTotalDuimp) + "\n" +
+ " quantidadeTotaltensDuimp: " + toIndentedString(quantidadeTotaltensDuimp) + "\n" +
+ " somatorioValorTotalCondicaoVenda: " + toIndentedString(somatorioValorTotalCondicaoVenda) + "\n" +
+ " somatorioValorTotalLocalEmbarque: " + toIndentedString(somatorioValorTotalLocalEmbarque) + "\n" +
+ " somatorioPesoItensDuimp: " + toIndentedString(somatorioPesoItensDuimp) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpTotaisCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpTotaisCover.java
new file mode 100644
index 0000000..ac2a3ce
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/BalancaDuimpTotaisCover.java
@@ -0,0 +1,94 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "BalancaDuimpTotaisCover", propOrder =
+ {"quantidadeTotalDuimp", "quantidadeTotaltensDuimp"
+ })
+
+@XmlRootElement(name = "BalancaDuimpTotaisCover")
+public class BalancaDuimpTotaisCover {
+
+ @XmlElement(name = "quantidadeTotalDuimp")
+ @ApiModelProperty(value = "Quantidade de Duimps selecionadas no período pesquisado.
Valor mínimo: 1
Valor máximo: 9999999999")
+ /**
+ * Quantidade de Duimps selecionadas no período pesquisado.
Valor mínimo: 1
Valor máximo: 9999999999
+ **/
+ private Long quantidadeTotalDuimp = null;
+
+ @XmlElement(name = "quantidadeTotaltensDuimp")
+ @ApiModelProperty(value = "Soma da quantidade de itens das Duimps selecionadas no período pesquisado.
Valor mínimo: 1
Valor máximo: 9999999999")
+ /**
+ * Soma da quantidade de itens das Duimps selecionadas no período pesquisado.
Valor mínimo: 1
Valor máximo: 9999999999
+ **/
+ private Long quantidadeTotaltensDuimp = null;
+
+ /**
+ * Quantidade de Duimps selecionadas no período pesquisado.<br>Valor mínimo: 1<br>Valor máximo: 9999999999
+ *
+ * @return quantidadeTotalDuimp
+ **/
+ @JsonProperty("quantidadeTotalDuimp")
+ public Long getQuantidadeTotalDuimp() {
+ return quantidadeTotalDuimp;
+ }
+
+ public void setQuantidadeTotalDuimp(Long quantidadeTotalDuimp) {
+ this.quantidadeTotalDuimp = quantidadeTotalDuimp;
+ }
+
+ public BalancaDuimpTotaisCover quantidadeTotalDuimp(Long quantidadeTotalDuimp) {
+ this.quantidadeTotalDuimp = quantidadeTotalDuimp;
+ return this;
+ }
+
+ /**
+ * Soma da quantidade de itens das Duimps selecionadas no período pesquisado.<br>Valor mínimo: 1<br>Valor máximo: 9999999999
+ *
+ * @return quantidadeTotaltensDuimp
+ **/
+ @JsonProperty("quantidadeTotaltensDuimp")
+ public Long getQuantidadeTotaltensDuimp() {
+ return quantidadeTotaltensDuimp;
+ }
+
+ public void setQuantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) {
+ this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp;
+ }
+
+ public BalancaDuimpTotaisCover quantidadeTotaltensDuimp(Long quantidadeTotaltensDuimp) {
+ this.quantidadeTotaltensDuimp = quantidadeTotaltensDuimp;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class BalancaDuimpTotaisCover {\n" +
+ " quantidadeTotalDuimp: " + toIndentedString(quantidadeTotalDuimp) + "\n" +
+ " quantidadeTotaltensDuimp: " + toIndentedString(quantidadeTotaltensDuimp) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpConsultaCover.java
new file mode 100644
index 0000000..7d26a9c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpConsultaCover.java
@@ -0,0 +1,269 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaDuimpConsultaCover", propOrder =
+ {"unidadeDeclarada", "tipoIdentificacaoCarga", "identificacao", "seguro", "frete", "paisProcedencia", "motivoSituacaoEspecial"
+ })
+
+@XmlRootElement(name = "CargaDuimpConsultaCover")
+/**
+ * Dados da carga.
+ **/
+@ApiModel(description = "Dados da carga.")
+public class CargaDuimpConsultaCover {
+
+ @XmlElement(name = "unidadeDeclarada")
+ @ApiModelProperty(value = "")
+ @Valid
+ private UnidadeDeclaradaCover unidadeDeclarada = null;
+
+
+ @XmlType(name = "TipoIdentificacaoCargaEnum")
+ @XmlEnum(String.class)
+ public enum TipoIdentificacaoCargaEnum {
+
+ @XmlEnumValue("CE")
+ @JsonProperty("CE")
+ CE("CE"),
+
+ @XmlEnumValue("RUC")
+ @JsonProperty("RUC")
+ RUC("RUC");
+
+
+ private final String value;
+
+ TipoIdentificacaoCargaEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoIdentificacaoCargaEnum fromValue(String v) {
+ for (TipoIdentificacaoCargaEnum b : TipoIdentificacaoCargaEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoIdentificacaoCargaEnum");
+ }
+ }
+
+ @XmlElement(name = "tipoIdentificacaoCarga")
+ @ApiModelProperty(example = "CE", value = "Descreve se a identificação da carga é do tipo CE ou RUC")
+ /**
+ * Descreve se a identificação da carga é do tipo CE ou RUC
+ **/
+ private TipoIdentificacaoCargaEnum tipoIdentificacaoCarga = null;
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(value = "Número de Identificação da Carga.
Quando tipo de identificação da carga for CE:
- Tamanho: 15
- Formato: NNNNNNNNNNNNNNN
Quando tipo de identificação da carga for RUC:
- Tamanho mínimo: 1
- Tamanho máximo: 32
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo")
+ /**
+ * Número de Identificação da Carga.
Quando tipo de identificação da carga for CE:
- Tamanho: 15
- Formato: NNNNNNNNNNNNNNN
Quando tipo de identificação da carga for RUC:
- Tamanho mínimo: 1
- Tamanho máximo: 32
Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11
Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/
Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ **/
+ private String identificacao = null;
+
+ @XmlElement(name = "seguro")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaDuimpSeguroConsultaCover seguro = null;
+
+ @XmlElement(name = "frete")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaDuimpFreteConsultaCover frete = null;
+
+ @XmlElement(name = "paisProcedencia")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaDuimpPaisProcedenciaCover paisProcedencia = null;
+
+ @XmlElement(name = "motivoSituacaoEspecial")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaDuimpMotivoSituacaoEspecialCover motivoSituacaoEspecial = null;
+
+ /**
+ * Get unidadeDeclarada
+ *
+ * @return unidadeDeclarada
+ **/
+ @JsonProperty("unidadeDeclarada")
+ public UnidadeDeclaradaCover getUnidadeDeclarada() {
+ return unidadeDeclarada;
+ }
+
+ public void setUnidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) {
+ this.unidadeDeclarada = unidadeDeclarada;
+ }
+
+ public CargaDuimpConsultaCover unidadeDeclarada(UnidadeDeclaradaCover unidadeDeclarada) {
+ this.unidadeDeclarada = unidadeDeclarada;
+ return this;
+ }
+
+ /**
+ * Descreve se a identificação da carga é do tipo CE ou RUC
+ *
+ * @return tipoIdentificacaoCarga
+ **/
+ @JsonProperty("tipoIdentificacaoCarga")
+ public String getTipoIdentificacaoCarga() {
+ if (tipoIdentificacaoCarga == null) {
+ return null;
+ }
+ return tipoIdentificacaoCarga.value();
+ }
+
+ public void setTipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) {
+ this.tipoIdentificacaoCarga = tipoIdentificacaoCarga;
+ }
+
+ public CargaDuimpConsultaCover tipoIdentificacaoCarga(TipoIdentificacaoCargaEnum tipoIdentificacaoCarga) {
+ this.tipoIdentificacaoCarga = tipoIdentificacaoCarga;
+ return this;
+ }
+
+ /**
+ * Número de Identificação da Carga.<br>Quando tipo de identificação da carga for CE: <br> - Tamanho: 15 <br> - Formato: NNNNNNNNNNNNNNN<br>Quando tipo de identificação da carga for RUC: <br> - Tamanho mínimo: 1<br> - Tamanho máximo: 32<br>Origem: Sistema Siscomex Carga - https://www4.receita.fazenda.gov.br/g33159/jsp/logon.jsp?ind=11<br><br>Origem: Portal Único Siscomex - Sistema CCT Importação - https://portalunico.siscomex.gov.br/<br>Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ *
+ * @return identificacao
+ **/
+ @JsonProperty("identificacao")
+ public String getIdentificacao() {
+ return identificacao;
+ }
+
+ public void setIdentificacao(String identificacao) {
+ this.identificacao = identificacao;
+ }
+
+ public CargaDuimpConsultaCover identificacao(String identificacao) {
+ this.identificacao = identificacao;
+ return this;
+ }
+
+ /**
+ * Get seguro
+ *
+ * @return seguro
+ **/
+ @JsonProperty("seguro")
+ public CargaDuimpSeguroConsultaCover getSeguro() {
+ return seguro;
+ }
+
+ public void setSeguro(CargaDuimpSeguroConsultaCover seguro) {
+ this.seguro = seguro;
+ }
+
+ public CargaDuimpConsultaCover seguro(CargaDuimpSeguroConsultaCover seguro) {
+ this.seguro = seguro;
+ return this;
+ }
+
+ /**
+ * Get frete
+ *
+ * @return frete
+ **/
+ @JsonProperty("frete")
+ public CargaDuimpFreteConsultaCover getFrete() {
+ return frete;
+ }
+
+ public void setFrete(CargaDuimpFreteConsultaCover frete) {
+ this.frete = frete;
+ }
+
+ public CargaDuimpConsultaCover frete(CargaDuimpFreteConsultaCover frete) {
+ this.frete = frete;
+ return this;
+ }
+
+ /**
+ * Get paisProcedencia
+ *
+ * @return paisProcedencia
+ **/
+ @JsonProperty("paisProcedencia")
+ public CargaDuimpPaisProcedenciaCover getPaisProcedencia() {
+ return paisProcedencia;
+ }
+
+ public void setPaisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) {
+ this.paisProcedencia = paisProcedencia;
+ }
+
+ public CargaDuimpConsultaCover paisProcedencia(CargaDuimpPaisProcedenciaCover paisProcedencia) {
+ this.paisProcedencia = paisProcedencia;
+ return this;
+ }
+
+ /**
+ * Get motivoSituacaoEspecial
+ *
+ * @return motivoSituacaoEspecial
+ **/
+ @JsonProperty("motivoSituacaoEspecial")
+ public CargaDuimpMotivoSituacaoEspecialCover getMotivoSituacaoEspecial() {
+ return motivoSituacaoEspecial;
+ }
+
+ public void setMotivoSituacaoEspecial(CargaDuimpMotivoSituacaoEspecialCover motivoSituacaoEspecial) {
+ this.motivoSituacaoEspecial = motivoSituacaoEspecial;
+ }
+
+ public CargaDuimpConsultaCover motivoSituacaoEspecial(CargaDuimpMotivoSituacaoEspecialCover motivoSituacaoEspecial) {
+ this.motivoSituacaoEspecial = motivoSituacaoEspecial;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaDuimpConsultaCover {\n" +
+ " unidadeDeclarada: " + toIndentedString(unidadeDeclarada) + "\n" +
+ " tipoIdentificacaoCarga: " + toIndentedString(tipoIdentificacaoCarga) + "\n" +
+ " identificacao: " + toIndentedString(identificacao) + "\n" +
+ " seguro: " + toIndentedString(seguro) + "\n" +
+ " frete: " + toIndentedString(frete) + "\n" +
+ " paisProcedencia: " + toIndentedString(paisProcedencia) + "\n" +
+ " motivoSituacaoEspecial: " + toIndentedString(motivoSituacaoEspecial) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpFreteConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpFreteConsultaCover.java
new file mode 100644
index 0000000..9f363f2
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpFreteConsultaCover.java
@@ -0,0 +1,102 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaDuimpFreteConsultaCover", propOrder =
+ {"codigoMoedaNegociada", "valorMoedaNegociada"
+ })
+
+@XmlRootElement(name = "CargaDuimpFreteConsultaCover")
+/**
+ * Dados do frete
+ **/
+@ApiModel(description = "Dados do frete")
+public class CargaDuimpFreteConsultaCover {
+
+ @XmlElement(name = "codigoMoedaNegociada")
+ @ApiModelProperty(example = "USD", value = "Código da moeda negociada do frete (ISO-4217).
Tamanho: 3
Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo")
+ /**
+ * Código da moeda negociada do frete (ISO-4217).
Tamanho: 3
Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ **/
+ private String codigoMoedaNegociada = null;
+
+ @XmlElement(name = "valorMoedaNegociada")
+ @ApiModelProperty(example = "30.22", value = "Valor do frete na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo")
+ @Valid
+ /**
+ * Valor do frete na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
Observação:
Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ **/
+ private BigDecimal valorMoedaNegociada = null;
+
+ /**
+ * Código da moeda negociada do frete (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ *
+ * @return codigoMoedaNegociada
+ **/
+ @JsonProperty("codigoMoedaNegociada")
+ public String getCodigoMoedaNegociada() {
+ return codigoMoedaNegociada;
+ }
+
+ public void setCodigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ }
+
+ public CargaDuimpFreteConsultaCover codigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ return this;
+ }
+
+ /**
+ * Valor do frete na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.<br>Observação:<br>Para as Duimp registradas a partir de 08/06/2022, o valor do frete utilizado no cálculo do valor aduaneiro não inclui os gastos relativos à carga, à descarga e ao manuseio incorridos no território nacional e destacados do custo de transporte Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ *
+ * @return valorMoedaNegociada
+ **/
+ @JsonProperty("valorMoedaNegociada")
+ public BigDecimal getValorMoedaNegociada() {
+ return valorMoedaNegociada;
+ }
+
+ public void setValorMoedaNegociada(BigDecimal valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ }
+
+ public CargaDuimpFreteConsultaCover valorMoedaNegociada(BigDecimal valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaDuimpFreteConsultaCover {\n" +
+ " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" +
+ " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpMotivoSituacaoEspecialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpMotivoSituacaoEspecialCover.java
new file mode 100644
index 0000000..463c0eb
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpMotivoSituacaoEspecialCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaDuimpMotivoSituacaoEspecialCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "CargaDuimpMotivoSituacaoEspecialCover")
+/**
+ * Motivo da situação especial de despacho da carga
+ **/
+@ApiModel(description = "Motivo da situação especial de despacho da carga")
+public class CargaDuimpMotivoSituacaoEspecialCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "1", value = "Código do motivo da situação especial de despacho no sistema.
Tamanho: 5
Formato: 'NNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ Para Duimp SEM situação especial de despacho (atributo carga.identificacao preenchido), este atributo será retornado nulo")
+ /**
+ * Código do motivo da situação especial de despacho no sistema.
Tamanho: 5
Formato: 'NNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ Para Duimp SEM situação especial de despacho (atributo carga.identificacao preenchido), este atributo será retornado nulo
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do motivo da situação especial de despacho no sistema.<br>Tamanho: 5<br>Formato: 'NNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/ Para Duimp SEM situação especial de despacho (atributo carga.identificacao preenchido), este atributo será retornado nulo
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public CargaDuimpMotivoSituacaoEspecialCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaDuimpMotivoSituacaoEspecialCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpPaisProcedenciaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpPaisProcedenciaCover.java
new file mode 100644
index 0000000..98b641d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpPaisProcedenciaCover.java
@@ -0,0 +1,72 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaDuimpPaisProcedenciaCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "CargaDuimpPaisProcedenciaCover")
+/**
+ * País de Procedência.
Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador
+ **/
+@ApiModel(description = "País de Procedência.
Para DUIMP com tipo de identificação de carga RUC, o país de procedência é informado pelo Importador")
+public class CargaDuimpPaisProcedenciaCover {
+
+ @XmlElement(name = "codigo")
+ @ApiModelProperty(example = "CN", value = "Código do país de procedência no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'")
+ /**
+ * Código do país de procedência no formato ISO (3166-1 alfa-2).
Tamanho: 2
Formato: 'AA'
+ **/
+ private String codigo = null;
+
+ /**
+ * Código do país de procedência no formato ISO (3166-1 alfa-2).<br>Tamanho: 2<br>Formato: 'AA'
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public CargaDuimpPaisProcedenciaCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaDuimpPaisProcedenciaCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpSeguroConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpSeguroConsultaCover.java
new file mode 100644
index 0000000..a894094
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/CargaDuimpSeguroConsultaCover.java
@@ -0,0 +1,102 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "CargaDuimpSeguroConsultaCover", propOrder =
+ {"codigoMoedaNegociada", "valorMoedaNegociada"
+ })
+
+@XmlRootElement(name = "CargaDuimpSeguroConsultaCover")
+/**
+ * Dados do seguro.
+ **/
+@ApiModel(description = "Dados do seguro.")
+public class CargaDuimpSeguroConsultaCover {
+
+ @XmlElement(name = "codigoMoedaNegociada")
+ @ApiModelProperty(example = "USD", value = "Código da moeda negociada do seguro (ISO-4217).
Tamanho: 3
Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo")
+ /**
+ * Código da moeda negociada do seguro (ISO-4217).
Tamanho: 3
Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ **/
+ private String codigoMoedaNegociada = null;
+
+ @XmlElement(name = "valorMoedaNegociada")
+ @ApiModelProperty(example = "30.22", value = "Valor do seguro na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo")
+ @Valid
+ /**
+ * Valor do seguro na moeda negociada.
Tamanho: 13,2
Formato: Decimal, com até 2 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ **/
+ private BigDecimal valorMoedaNegociada = null;
+
+ /**
+ * Código da moeda negociada do seguro (ISO-4217).<br>Tamanho: 3<br>Formato: 'AAA' Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ *
+ * @return codigoMoedaNegociada
+ **/
+ @JsonProperty("codigoMoedaNegociada")
+ public String getCodigoMoedaNegociada() {
+ return codigoMoedaNegociada;
+ }
+
+ public void setCodigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ }
+
+ public CargaDuimpSeguroConsultaCover codigoMoedaNegociada(String codigoMoedaNegociada) {
+ this.codigoMoedaNegociada = codigoMoedaNegociada;
+ return this;
+ }
+
+ /**
+ * Valor do seguro na moeda negociada.<br>Tamanho: 13,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho (atributo carga.motivoSituacaoEspecial.codigo preenchido), este atributo será retornado nulo
+ *
+ * @return valorMoedaNegociada
+ **/
+ @JsonProperty("valorMoedaNegociada")
+ public BigDecimal getValorMoedaNegociada() {
+ return valorMoedaNegociada;
+ }
+
+ public void setValorMoedaNegociada(BigDecimal valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ }
+
+ public CargaDuimpSeguroConsultaCover valorMoedaNegociada(BigDecimal valorMoedaNegociada) {
+ this.valorMoedaNegociada = valorMoedaNegociada;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class CargaDuimpSeguroConsultaCover {\n" +
+ " codigoMoedaNegociada: " + toIndentedString(codigoMoedaNegociada) + "\n" +
+ " valorMoedaNegociada: " + toIndentedString(valorMoedaNegociada) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DadosPagamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DadosPagamentoCover.java
new file mode 100644
index 0000000..fadbc0d
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DadosPagamentoCover.java
@@ -0,0 +1,261 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.time.OffsetDateTime;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DadosPagamentoCover", propOrder =
+ {"dataPagamento", "codigoReceita", "banco", "agencia", "conta", "tributo", "valor", "juros"
+ })
+
+@XmlRootElement(name = "DadosPagamentoCover")
+/**
+ * Dados principais de um pagamento.
+ **/
+@ApiModel(description = "Dados principais de um pagamento.")
+public class DadosPagamentoCover {
+
+ @XmlElement(name = "dataPagamento")
+ @ApiModelProperty(value = "Data e hora do pagamento.
Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'")
+ /**
+ * Data e hora do pagamento.
Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'
+ **/
+ private OffsetDateTime dataPagamento = null;
+
+ @XmlElement(name = "codigoReceita")
+ @ApiModelProperty(example = "5602", value = "Código da receita.
Tamanho: 4
Formato: 'NNNN'")
+ /**
+ * Código da receita.
Tamanho: 4
Formato: 'NNNN'
+ **/
+ private String codigoReceita = null;
+
+ @XmlElement(name = "banco")
+ @ApiModelProperty(example = "001", value = "Código do banco.
Valor mínimo: 1
Valor máximo: 999")
+ /**
+ * Código do banco.
Valor mínimo: 1
Valor máximo: 999
+ **/
+ private String banco = null;
+
+ @XmlElement(name = "agencia")
+ @ApiModelProperty(example = "3521", value = "Número da agência
Tamanho mínimo: 1
Tamanho máximo: 4")
+ /**
+ * Número da agência
Tamanho mínimo: 1
Tamanho máximo: 4
+ **/
+ private String agencia = null;
+
+ @XmlElement(name = "conta")
+ @ApiModelProperty(example = "707070", value = "Número da conta
Tamanho mínimo: 1
Tamanho máximo: 10")
+ /**
+ * Número da conta
Tamanho mínimo: 1
Tamanho máximo: 10
+ **/
+ private String conta = null;
+
+ @XmlElement(name = "tributo")
+ @ApiModelProperty(value = "")
+ @Valid
+ private TributoDuimpConsultaCover tributo = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "17.2", value = "Valor pago.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor pago.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valor = null;
+
+ @XmlElement(name = "juros")
+ @ApiModelProperty(value = "")
+ @Valid
+ private JurosPagamentoCover juros = null;
+
+ /**
+ * Data e hora do pagamento.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'
+ *
+ * @return dataPagamento
+ **/
+ @JsonProperty("dataPagamento")
+ public OffsetDateTime getDataPagamento() {
+ return dataPagamento;
+ }
+
+ public void setDataPagamento(OffsetDateTime dataPagamento) {
+ this.dataPagamento = dataPagamento;
+ }
+
+ public DadosPagamentoCover dataPagamento(OffsetDateTime dataPagamento) {
+ this.dataPagamento = dataPagamento;
+ return this;
+ }
+
+ /**
+ * Código da receita.<br>Tamanho: 4<br>Formato: 'NNNN'
+ *
+ * @return codigoReceita
+ **/
+ @JsonProperty("codigoReceita")
+ public String getCodigoReceita() {
+ return codigoReceita;
+ }
+
+ public void setCodigoReceita(String codigoReceita) {
+ this.codigoReceita = codigoReceita;
+ }
+
+ public DadosPagamentoCover codigoReceita(String codigoReceita) {
+ this.codigoReceita = codigoReceita;
+ return this;
+ }
+
+ /**
+ * Código do banco.<br>Valor mínimo: 1<br>Valor máximo: 999
+ *
+ * @return banco
+ **/
+ @JsonProperty("banco")
+ public String getBanco() {
+ return banco;
+ }
+
+ public void setBanco(String banco) {
+ this.banco = banco;
+ }
+
+ public DadosPagamentoCover banco(String banco) {
+ this.banco = banco;
+ return this;
+ }
+
+ /**
+ * Número da agência<br>Tamanho mínimo: 1<br>Tamanho máximo: 4
+ *
+ * @return agencia
+ **/
+ @JsonProperty("agencia")
+ public String getAgencia() {
+ return agencia;
+ }
+
+ public void setAgencia(String agencia) {
+ this.agencia = agencia;
+ }
+
+ public DadosPagamentoCover agencia(String agencia) {
+ this.agencia = agencia;
+ return this;
+ }
+
+ /**
+ * Número da conta<br>Tamanho mínimo: 1<br>Tamanho máximo: 10
+ *
+ * @return conta
+ **/
+ @JsonProperty("conta")
+ public String getConta() {
+ return conta;
+ }
+
+ public void setConta(String conta) {
+ this.conta = conta;
+ }
+
+ public DadosPagamentoCover conta(String conta) {
+ this.conta = conta;
+ return this;
+ }
+
+ /**
+ * Get tributo
+ *
+ * @return tributo
+ **/
+ @JsonProperty("tributo")
+ public TributoDuimpConsultaCover getTributo() {
+ return tributo;
+ }
+
+ public void setTributo(TributoDuimpConsultaCover tributo) {
+ this.tributo = tributo;
+ }
+
+ public DadosPagamentoCover tributo(TributoDuimpConsultaCover tributo) {
+ this.tributo = tributo;
+ return this;
+ }
+
+ /**
+ * Valor pago.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public BigDecimal getValor() {
+ return valor;
+ }
+
+ public void setValor(BigDecimal valor) {
+ this.valor = valor;
+ }
+
+ public DadosPagamentoCover valor(BigDecimal valor) {
+ this.valor = valor;
+ return this;
+ }
+
+ /**
+ * Get juros
+ *
+ * @return juros
+ **/
+ @JsonProperty("juros")
+ public JurosPagamentoCover getJuros() {
+ return juros;
+ }
+
+ public void setJuros(JurosPagamentoCover juros) {
+ this.juros = juros;
+ }
+
+ public DadosPagamentoCover juros(JurosPagamentoCover juros) {
+ this.juros = juros;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DadosPagamentoCover {\n" +
+ " dataPagamento: " + toIndentedString(dataPagamento) + "\n" +
+ " codigoReceita: " + toIndentedString(codigoReceita) + "\n" +
+ " banco: " + toIndentedString(banco) + "\n" +
+ " agencia: " + toIndentedString(agencia) + "\n" +
+ " conta: " + toIndentedString(conta) + "\n" +
+ " tributo: " + toIndentedString(tributo) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ " juros: " + toIndentedString(juros) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpApiMessageCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpApiMessageCover.java
new file mode 100644
index 0000000..69a9377
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpApiMessageCover.java
@@ -0,0 +1,121 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DuimpApiMessageCover", propOrder =
+ {"code", "field", "message"
+ })
+
+@XmlRootElement(name = "DuimpApiMessageCover")
+public class DuimpApiMessageCover {
+
+ @XmlElement(name = "code")
+ @ApiModelProperty(example = "DIMP-ER9999", value = "Código interno da mensagem de erro.")
+ /**
+ * Código interno da mensagem de erro.
+ **/
+ private String code = null;
+
+ @XmlElement(name = "field")
+ @ApiModelProperty(example = "numero", value = "Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido")
+ /**
+ * Nome do campo que contém o valor inválido.
Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
+ **/
+ private String field = null;
+
+ @XmlElement(name = "message")
+ @ApiModelProperty(example = "Mensagem de negócio detalhando o código de erro informado no atributo 'code'.", value = "Mensagem de erro.")
+ /**
+ * Mensagem de erro.
+ **/
+ private String message = null;
+
+ /**
+ * Código interno da mensagem de erro.
+ *
+ * @return code
+ **/
+ @JsonProperty("code")
+ public String getCode() {
+ return code;
+ }
+
+ public void setCode(String code) {
+ this.code = code;
+ }
+
+ public DuimpApiMessageCover code(String code) {
+ this.code = code;
+ return this;
+ }
+
+ /**
+ * Nome do campo que contém o valor inválido. <br> Atributo opcional: Só será devolvido caso o erro tenha sido provocado por um atributo inválido
+ *
+ * @return field
+ **/
+ @JsonProperty("field")
+ public String getField() {
+ return field;
+ }
+
+ public void setField(String field) {
+ this.field = field;
+ }
+
+ public DuimpApiMessageCover field(String field) {
+ this.field = field;
+ return this;
+ }
+
+ /**
+ * Mensagem de erro.
+ *
+ * @return message
+ **/
+ @JsonProperty("message")
+ public String getMessage() {
+ return message;
+ }
+
+ public void setMessage(String message) {
+ this.message = message;
+ }
+
+ public DuimpApiMessageCover message(String message) {
+ this.message = message;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class DuimpApiMessageCover {\n" +
+ " code: " + toIndentedString(code) + "\n" +
+ " field: " + toIndentedString(field) + "\n" +
+ " message: " + toIndentedString(message) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpBalancaComercialCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpBalancaComercialCover.java
new file mode 100644
index 0000000..4118f7e
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/DuimpBalancaComercialCover.java
@@ -0,0 +1,224 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "DuimpBalancaComercialCover", propOrder =
+ {"identificacao", "situacao", "resultadoAnaliseRisco", "carga", "tributos", "pagamentos", "quantidadeItens"
+ })
+
+@XmlRootElement(name = "DuimpBalancaComercialCover")
+public class DuimpBalancaComercialCover {
+
+ @XmlElement(name = "identificacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private IdentificacaoDuimpConsultaCover identificacao = null;
+
+ @XmlElement(name = "situacao")
+ @ApiModelProperty(value = "")
+ @Valid
+ private SituacaoDuimpConsultaCover situacao = null;
+
+ @XmlElement(name = "resultadoAnaliseRisco")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ResultadoAnaliseRiscoDuimpCover resultadoAnaliseRisco = null;
+
+ @XmlElement(name = "carga")
+ @ApiModelProperty(value = "")
+ @Valid
+ private CargaDuimpConsultaCover carga = null;
+
+ @XmlElement(name = "tributos")
+ @ApiModelProperty(value = "")
+ @Valid
+ private TributoConsultaDuimpCover tributos = null;
+
+ @XmlElement(name = "pagamentos")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Tamanho mínimo: 1
Tamanho máximo: 5")
+ /**
+ * Quantidade total de Itens da Duimp.
Tamanho mínimo: 1
Tamanho máximo: 5
+ **/
+ private Long quantidadeItens = null;
+
+ /**
+ * Get identificacao
+ *
+ * @return identificacao
+ **/
+ @JsonProperty("identificacao")
+ public IdentificacaoDuimpConsultaCover getIdentificacao() {
+ return identificacao;
+ }
+
+ public void setIdentificacao(IdentificacaoDuimpConsultaCover identificacao) {
+ this.identificacao = identificacao;
+ }
+
+ public DuimpBalancaComercialCover identificacao(IdentificacaoDuimpConsultaCover identificacao) {
+ this.identificacao = identificacao;
+ return this;
+ }
+
+ /**
+ * Get situacao
+ *
+ * @return situacao
+ **/
+ @JsonProperty("situacao")
+ public SituacaoDuimpConsultaCover getSituacao() {
+ return situacao;
+ }
+
+ public void setSituacao(SituacaoDuimpConsultaCover situacao) {
+ this.situacao = situacao;
+ }
+
+ public DuimpBalancaComercialCover situacao(SituacaoDuimpConsultaCover situacao) {
+ this.situacao = situacao;
+ return this;
+ }
+
+ /**
+ * Get resultadoAnaliseRisco
+ *
+ * @return resultadoAnaliseRisco
+ **/
+ @JsonProperty("resultadoAnaliseRisco")
+ public ResultadoAnaliseRiscoDuimpCover getResultadoAnaliseRisco() {
+ return resultadoAnaliseRisco;
+ }
+
+ public void setResultadoAnaliseRisco(ResultadoAnaliseRiscoDuimpCover resultadoAnaliseRisco) {
+ this.resultadoAnaliseRisco = resultadoAnaliseRisco;
+ }
+
+ public DuimpBalancaComercialCover resultadoAnaliseRisco(ResultadoAnaliseRiscoDuimpCover resultadoAnaliseRisco) {
+ this.resultadoAnaliseRisco = resultadoAnaliseRisco;
+ return this;
+ }
+
+ /**
+ * Get carga
+ *
+ * @return carga
+ **/
+ @JsonProperty("carga")
+ public CargaDuimpConsultaCover getCarga() {
+ return carga;
+ }
+
+ public void setCarga(CargaDuimpConsultaCover carga) {
+ this.carga = carga;
+ }
+
+ public DuimpBalancaComercialCover carga(CargaDuimpConsultaCover carga) {
+ this.carga = carga;
+ return this;
+ }
+
+ /**
+ * Get tributos
+ *
+ * @return tributos
+ **/
+ @JsonProperty("tributos")
+ public TributoConsultaDuimpCover getTributos() {
+ return tributos;
+ }
+
+ public void setTributos(TributoConsultaDuimpCover tributos) {
+ this.tributos = tributos;
+ }
+
+ public DuimpBalancaComercialCover tributos(TributoConsultaDuimpCover tributos) {
+ this.tributos = tributos;
+ return this;
+ }
+
+ /**
+ * Get pagamentos
+ *
+ * @return pagamentos
+ **/
+ @JsonProperty("pagamentos")
+ public List
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)")
+ /**
+ *
Tamanho: 15
Formato: 'AABRSSSSSSSSSSD'
Lei de formação. O número da Duimp é composto por:
* AA = Corresponde ao ano do registro da Declaração.
* BR = Corresponde à sigla do país de emissão do documento (BR).
* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.
* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ **/
+ private String numero = null;
+
+ @XmlElement(name = "versao")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999")
+ /**
+ * Versão da Duimp.
Valor mínimo: 0
Valor máximo: 9999
+ **/
+ private Integer versao = null;
+
+ @XmlElement(name = "importador")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ImportadorCover importador = null;
+
+ @XmlElement(name = "dataRegistro")
+ @ApiModelProperty(value = "Data e hora em que a Duimp foi registrada.
Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'")
+ /**
+ * Data e hora em que a Duimp foi registrada.
Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'
+ **/
+ private OffsetDateTime dataRegistro = null;
+
+ @XmlElement(name = "informacaoComplementar")
+ @ApiModelProperty(example = "Texto complementando informações sobre a Duimp.", value = "Descrição complementar da Duimp.
Tamanho mínimo: 0
Tamanho máximo: 7800")
+ /**
+ * Descrição complementar da Duimp.
Tamanho mínimo: 0
Tamanho máximo: 7800
+ **/
+ private String informacaoComplementar = null;
+
+ /**
+ * <br>Tamanho: 15<br>Formato: 'AABRSSSSSSSSSSD'<br>Lei de formação. O número da Duimp é composto por: <br>* AA = Corresponde ao ano do registro da Declaração. <br>* BR = Corresponde à sigla do país de emissão do documento (BR).<br>* SSSSSSSSSS = 10 caracteres numéricos. Número sequencial da Duimp dentro do ano.<br>* D = 1 caracter numérico. DV para todos os demais caracteres numéricos (Módulo 11)
+ *
+ * @return numero
+ **/
+ @JsonProperty("numero")
+ public String getNumero() {
+ return numero;
+ }
+
+ public void setNumero(String numero) {
+ this.numero = numero;
+ }
+
+ public IdentificacaoDuimpConsultaCover numero(String numero) {
+ this.numero = numero;
+ return this;
+ }
+
+ /**
+ * Versão da Duimp.<br>Valor mínimo: 0<br>Valor máximo: 9999
+ *
+ * @return versao
+ **/
+ @JsonProperty("versao")
+ public Integer getVersao() {
+ return versao;
+ }
+
+ public void setVersao(Integer versao) {
+ this.versao = versao;
+ }
+
+ public IdentificacaoDuimpConsultaCover versao(Integer versao) {
+ this.versao = versao;
+ return this;
+ }
+
+ /**
+ * Get importador
+ *
+ * @return importador
+ **/
+ @JsonProperty("importador")
+ public ImportadorCover getImportador() {
+ return importador;
+ }
+
+ public void setImportador(ImportadorCover importador) {
+ this.importador = importador;
+ }
+
+ public IdentificacaoDuimpConsultaCover importador(ImportadorCover importador) {
+ this.importador = importador;
+ return this;
+ }
+
+ /**
+ * Data e hora em que a Duimp foi registrada.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'
+ *
+ * @return dataRegistro
+ **/
+ @JsonProperty("dataRegistro")
+ public OffsetDateTime getDataRegistro() {
+ return dataRegistro;
+ }
+
+ public void setDataRegistro(OffsetDateTime dataRegistro) {
+ this.dataRegistro = dataRegistro;
+ }
+
+ public IdentificacaoDuimpConsultaCover dataRegistro(OffsetDateTime dataRegistro) {
+ this.dataRegistro = dataRegistro;
+ return this;
+ }
+
+ /**
+ * Descrição complementar da Duimp.<br>Tamanho mínimo: 0<br>Tamanho máximo: 7800
+ *
+ * @return informacaoComplementar
+ **/
+ @JsonProperty("informacaoComplementar")
+ public String getInformacaoComplementar() {
+ return informacaoComplementar;
+ }
+
+ public void setInformacaoComplementar(String informacaoComplementar) {
+ this.informacaoComplementar = informacaoComplementar;
+ }
+
+ public IdentificacaoDuimpConsultaCover informacaoComplementar(String informacaoComplementar) {
+ this.informacaoComplementar = informacaoComplementar;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class IdentificacaoDuimpConsultaCover {\n" +
+ " numero: " + toIndentedString(numero) + "\n" +
+ " versao: " + toIndentedString(versao) + "\n" +
+ " importador: " + toIndentedString(importador) + "\n" +
+ " dataRegistro: " + toIndentedString(dataRegistro) + "\n" +
+ " informacaoComplementar: " + toIndentedString(informacaoComplementar) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ImportadorCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ImportadorCover.java
new file mode 100644
index 0000000..e7e4d34
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ImportadorCover.java
@@ -0,0 +1,145 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ImportadorCover", propOrder =
+ {"tipoImportador", "ni"
+ })
+
+@XmlRootElement(name = "ImportadorCover")
+/**
+ * Identificação do importador da declaração única de importação.
+ **/
+@ApiModel(description = "Identificação do importador da declaração única de importação.")
+public class ImportadorCover {
+
+
+ @XmlType(name = "TipoImportadorEnum")
+ @XmlEnum(String.class)
+ public enum TipoImportadorEnum {
+
+ @XmlEnumValue("CNPJ")
+ @JsonProperty("CNPJ")
+ CNPJ("CNPJ"),
+
+ @XmlEnumValue("CPF")
+ @JsonProperty("CPF")
+ CPF("CPF");
+
+
+ private final String value;
+
+ TipoImportadorEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoImportadorEnum fromValue(String v) {
+ for (TipoImportadorEnum b : TipoImportadorEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoImportadorEnum");
+ }
+ }
+
+ @XmlElement(name = "tipoImportador")
+ @ApiModelProperty(example = "CNPJ", value = "Descreve se o Importador é do tipo CPF ou CNPJ")
+ /**
+ * Descreve se o Importador é do tipo CPF ou CNPJ
+ **/
+ private TipoImportadorEnum tipoImportador = null;
+
+ @XmlElement(name = "ni", required = true)
+ @ApiModelProperty(example = "00055555000130", required = true, value = "
Número do Importador:
Caso seja CNPJ:
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'")
+ /**
+ *
Número do Importador:
Caso seja CNPJ:
Tamanho: 14
Formato: 'NNNNNNNNNNNNNN'
Caso seja CPF:
Tamanho: 11
Formato: 'NNNNNNNNNNN'
+ **/
+ private String ni = null;
+
+ /**
+ * Descreve se o Importador é do tipo CPF ou CNPJ
+ *
+ * @return tipoImportador
+ **/
+ @JsonProperty("tipoImportador")
+ public String getTipoImportador() {
+ if (tipoImportador == null) {
+ return null;
+ }
+ return tipoImportador.value();
+ }
+
+ public void setTipoImportador(TipoImportadorEnum tipoImportador) {
+ this.tipoImportador = tipoImportador;
+ }
+
+ public ImportadorCover tipoImportador(TipoImportadorEnum tipoImportador) {
+ this.tipoImportador = tipoImportador;
+ return this;
+ }
+
+ /**
+ * <br>Número do Importador: <br>Caso seja CNPJ: <br>Tamanho: 14<br>Formato: 'NNNNNNNNNNNNNN'<br>Caso seja CPF: <br>Tamanho: 11<br>Formato: 'NNNNNNNNNNN'
+ *
+ * @return ni
+ **/
+ @JsonProperty("ni")
+ @NotNull
+ public String getNi() {
+ return ni;
+ }
+
+ public void setNi(String ni) {
+ this.ni = ni;
+ }
+
+ public ImportadorCover ni(String ni) {
+ this.ni = ni;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ImportadorCover {\n" +
+ " tipoImportador: " + toIndentedString(tipoImportador) + "\n" +
+ " ni: " + toIndentedString(ni) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/JurosPagamentoCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/JurosPagamentoCover.java
new file mode 100644
index 0000000..a27679f
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/JurosPagamentoCover.java
@@ -0,0 +1,211 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+import java.time.OffsetDateTime;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "JurosPagamentoCover", propOrder =
+ {"codigoReceita", "valor", "dataPagamentoJuros", "bancoJuros", "agenciaJuros", "contaJuros"
+ })
+
+@XmlRootElement(name = "JurosPagamentoCover")
+/**
+ * Informações sobre os Juros.
+ **/
+@ApiModel(description = "Informações sobre os Juros.")
+public class JurosPagamentoCover {
+
+ @XmlElement(name = "codigoReceita")
+ @ApiModelProperty(example = "5602", value = "Código da receita.
Tamanho: 4
Formato: 'NNNN'")
+ /**
+ * Código da receita.
Tamanho: 4
Formato: 'NNNN'
+ **/
+ private String codigoReceita = null;
+
+ @XmlElement(name = "valor")
+ @ApiModelProperty(example = "100.1", value = "Valor de juros.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor de juros.
Tamanho: 17,2
Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valor = null;
+
+ @XmlElement(name = "dataPagamentoJuros")
+ @ApiModelProperty(value = "Data de pagamento de juros.
Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'")
+ /**
+ * Data de pagamento de juros.
Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'
+ **/
+ private OffsetDateTime dataPagamentoJuros = null;
+
+ @XmlElement(name = "bancoJuros")
+ @ApiModelProperty(example = "001", value = "Código do banco.
Valor mínimo: 1
Valor máximo: 999")
+ /**
+ * Código do banco.
Valor mínimo: 1
Valor máximo: 999
+ **/
+ private String bancoJuros = null;
+
+ @XmlElement(name = "agenciaJuros")
+ @ApiModelProperty(example = "3521", value = "Número da agência
Tamanho mínimo: 1
Tamanho máximo: 4")
+ /**
+ * Número da agência
Tamanho mínimo: 1
Tamanho máximo: 4
+ **/
+ private String agenciaJuros = null;
+
+ @XmlElement(name = "contaJuros")
+ @ApiModelProperty(example = "707070", value = "Número da conta
Tamanho mínimo: 1
Tamanho máximo: 10")
+ /**
+ * Número da conta
Tamanho mínimo: 1
Tamanho máximo: 10
+ **/
+ private String contaJuros = null;
+
+ /**
+ * Código da receita.<br>Tamanho: 4<br>Formato: 'NNNN'
+ *
+ * @return codigoReceita
+ **/
+ @JsonProperty("codigoReceita")
+ public String getCodigoReceita() {
+ return codigoReceita;
+ }
+
+ public void setCodigoReceita(String codigoReceita) {
+ this.codigoReceita = codigoReceita;
+ }
+
+ public JurosPagamentoCover codigoReceita(String codigoReceita) {
+ this.codigoReceita = codigoReceita;
+ return this;
+ }
+
+ /**
+ * Valor de juros.<br>Tamanho: 17,2<br>Formato: Decimal, com até 2 casas decimais separadas por ponto.
+ *
+ * @return valor
+ **/
+ @JsonProperty("valor")
+ public BigDecimal getValor() {
+ return valor;
+ }
+
+ public void setValor(BigDecimal valor) {
+ this.valor = valor;
+ }
+
+ public JurosPagamentoCover valor(BigDecimal valor) {
+ this.valor = valor;
+ return this;
+ }
+
+ /**
+ * Data de pagamento de juros.<br>Formato: 'yyyy-MM-dd'T'HH:mm:ssZ'
+ *
+ * @return dataPagamentoJuros
+ **/
+ @JsonProperty("dataPagamentoJuros")
+ public OffsetDateTime getDataPagamentoJuros() {
+ return dataPagamentoJuros;
+ }
+
+ public void setDataPagamentoJuros(OffsetDateTime dataPagamentoJuros) {
+ this.dataPagamentoJuros = dataPagamentoJuros;
+ }
+
+ public JurosPagamentoCover dataPagamentoJuros(OffsetDateTime dataPagamentoJuros) {
+ this.dataPagamentoJuros = dataPagamentoJuros;
+ return this;
+ }
+
+ /**
+ * Código do banco.<br>Valor mínimo: 1<br>Valor máximo: 999
+ *
+ * @return bancoJuros
+ **/
+ @JsonProperty("bancoJuros")
+ public String getBancoJuros() {
+ return bancoJuros;
+ }
+
+ public void setBancoJuros(String bancoJuros) {
+ this.bancoJuros = bancoJuros;
+ }
+
+ public JurosPagamentoCover bancoJuros(String bancoJuros) {
+ this.bancoJuros = bancoJuros;
+ return this;
+ }
+
+ /**
+ * Número da agência<br>Tamanho mínimo: 1<br>Tamanho máximo: 4
+ *
+ * @return agenciaJuros
+ **/
+ @JsonProperty("agenciaJuros")
+ public String getAgenciaJuros() {
+ return agenciaJuros;
+ }
+
+ public void setAgenciaJuros(String agenciaJuros) {
+ this.agenciaJuros = agenciaJuros;
+ }
+
+ public JurosPagamentoCover agenciaJuros(String agenciaJuros) {
+ this.agenciaJuros = agenciaJuros;
+ return this;
+ }
+
+ /**
+ * Número da conta<br>Tamanho mínimo: 1<br>Tamanho máximo: 10
+ *
+ * @return contaJuros
+ **/
+ @JsonProperty("contaJuros")
+ public String getContaJuros() {
+ return contaJuros;
+ }
+
+ public void setContaJuros(String contaJuros) {
+ this.contaJuros = contaJuros;
+ }
+
+ public JurosPagamentoCover contaJuros(String contaJuros) {
+ this.contaJuros = contaJuros;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class JurosPagamentoCover {\n" +
+ " codigoReceita: " + toIndentedString(codigoReceita) + "\n" +
+ " valor: " + toIndentedString(valor) + "\n" +
+ " dataPagamentoJuros: " + toIndentedString(dataPagamentoJuros) + "\n" +
+ " bancoJuros: " + toIndentedString(bancoJuros) + "\n" +
+ " agenciaJuros: " + toIndentedString(agenciaJuros) + "\n" +
+ " contaJuros: " + toIndentedString(contaJuros) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/MercadoriaDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/MercadoriaDuimpConsultaCover.java
new file mode 100644
index 0000000..875ef45
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/MercadoriaDuimpConsultaCover.java
@@ -0,0 +1,98 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "MercadoriaDuimpConsultaCover", propOrder =
+ {"valorTotalLocalEmbarqueBRL", "valorTotalLocalEmbarqueUSD"
+ })
+
+@XmlRootElement(name = "MercadoriaDuimpConsultaCover")
+public class MercadoriaDuimpConsultaCover {
+
+ @XmlElement(name = "valorTotalLocalEmbarqueBRL")
+ @ApiModelProperty(example = "20.366", value = "Valor total da mercadoria no local de embarque em R$ (Reais).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor total da mercadoria no local de embarque em R$ (Reais).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorTotalLocalEmbarqueBRL = null;
+
+ @XmlElement(name = "valorTotalLocalEmbarqueUSD")
+ @ApiModelProperty(example = "20.366", value = "Valor total da mercadoria no local de embarque em US$ (Dólares).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor total da mercadoria no local de embarque em US$ (Dólares).
Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal valorTotalLocalEmbarqueUSD = null;
+
+ /**
+ * Valor total da mercadoria no local de embarque em R$ (Reais). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorTotalLocalEmbarqueBRL
+ **/
+ @JsonProperty("valorTotalLocalEmbarqueBRL")
+ public BigDecimal getValorTotalLocalEmbarqueBRL() {
+ return valorTotalLocalEmbarqueBRL;
+ }
+
+ public void setValorTotalLocalEmbarqueBRL(BigDecimal valorTotalLocalEmbarqueBRL) {
+ this.valorTotalLocalEmbarqueBRL = valorTotalLocalEmbarqueBRL;
+ }
+
+ public MercadoriaDuimpConsultaCover valorTotalLocalEmbarqueBRL(BigDecimal valorTotalLocalEmbarqueBRL) {
+ this.valorTotalLocalEmbarqueBRL = valorTotalLocalEmbarqueBRL;
+ return this;
+ }
+
+ /**
+ * Valor total da mercadoria no local de embarque em US$ (Dólares). <br> Para Duimps com situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, será retornado o valor nulo (**null**)<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return valorTotalLocalEmbarqueUSD
+ **/
+ @JsonProperty("valorTotalLocalEmbarqueUSD")
+ public BigDecimal getValorTotalLocalEmbarqueUSD() {
+ return valorTotalLocalEmbarqueUSD;
+ }
+
+ public void setValorTotalLocalEmbarqueUSD(BigDecimal valorTotalLocalEmbarqueUSD) {
+ this.valorTotalLocalEmbarqueUSD = valorTotalLocalEmbarqueUSD;
+ }
+
+ public MercadoriaDuimpConsultaCover valorTotalLocalEmbarqueUSD(BigDecimal valorTotalLocalEmbarqueUSD) {
+ this.valorTotalLocalEmbarqueUSD = valorTotalLocalEmbarqueUSD;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class MercadoriaDuimpConsultaCover {\n" +
+ " valorTotalLocalEmbarqueBRL: " + toIndentedString(valorTotalLocalEmbarqueBRL) + "\n" +
+ " valorTotalLocalEmbarqueUSD: " + toIndentedString(valorTotalLocalEmbarqueUSD) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/PagamentoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/PagamentoDuimpConsultaCover.java
new file mode 100644
index 0000000..228f307
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/PagamentoDuimpConsultaCover.java
@@ -0,0 +1,98 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "PagamentoDuimpConsultaCover", propOrder =
+ {"versaoOrigem", "principal"
+ })
+
+@XmlRootElement(name = "PagamentoDuimpConsultaCover")
+/**
+ * Dados de um pagamento.
+ **/
+@ApiModel(description = "Dados de um pagamento.")
+public class PagamentoDuimpConsultaCover {
+
+ @XmlElement(name = "versaoOrigem")
+ @ApiModelProperty(example = "1", value = "Versão da Duimp em que este pagamento foi realizado.
Valor mínimo: 1
Valor máximo: 9999")
+ /**
+ * Versão da Duimp em que este pagamento foi realizado.
Valor mínimo: 1
Valor máximo: 9999
+ **/
+ private Integer versaoOrigem = null;
+
+ @XmlElement(name = "principal")
+ @ApiModelProperty(value = "")
+ @Valid
+ private DadosPagamentoCover principal = null;
+
+ /**
+ * Versão da Duimp em que este pagamento foi realizado.<br>Valor mínimo: 1<br>Valor máximo: 9999
+ *
+ * @return versaoOrigem
+ **/
+ @JsonProperty("versaoOrigem")
+ public Integer getVersaoOrigem() {
+ return versaoOrigem;
+ }
+
+ public void setVersaoOrigem(Integer versaoOrigem) {
+ this.versaoOrigem = versaoOrigem;
+ }
+
+ public PagamentoDuimpConsultaCover versaoOrigem(Integer versaoOrigem) {
+ this.versaoOrigem = versaoOrigem;
+ return this;
+ }
+
+ /**
+ * Get principal
+ *
+ * @return principal
+ **/
+ @JsonProperty("principal")
+ public DadosPagamentoCover getPrincipal() {
+ return principal;
+ }
+
+ public void setPrincipal(DadosPagamentoCover principal) {
+ this.principal = principal;
+ }
+
+ public PagamentoDuimpConsultaCover principal(DadosPagamentoCover principal) {
+ this.principal = principal;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class PagamentoDuimpConsultaCover {\n" +
+ " versaoOrigem: " + toIndentedString(versaoOrigem) + "\n" +
+ " principal: " + toIndentedString(principal) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/RespostaApiErroBalanca.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/RespostaApiErroBalanca.java
new file mode 100644
index 0000000..3e8f935
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/RespostaApiErroBalanca.java
@@ -0,0 +1,102 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RespostaApiErroBalanca", propOrder =
+ {"message", "errors"
+ })
+
+@XmlRootElement(name = "RespostaApiErroBalanca")
+public class RespostaApiErroBalanca {
+
+ @XmlElement(name = "message")
+ @ApiModelProperty(example = "Mensagem de exemplo.", value = "Mensagem de resposta do resultado da operação.")
+ /**
+ * Mensagem de resposta do resultado da operação.
+ **/
+ private String message = null;
+
+ @XmlElement(name = "errors")
+ @ApiModelProperty(value = "Conjunto de erros de validação dos campos. Atributo devolvido apenas para erros HTTP 422.
Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.")
+ @Valid
+ /**
+ * Conjunto de erros de validação dos campos. Atributo devolvido apenas para erros HTTP 422.
Esta é uma lista opcional e fornece o detalhamento de todos os erros que deram origem ao erro 422
Quando houver mais de um erro, essa lista será preenchida com cada um dos erros
Exemplo: A lista detalhada dos problemas encontrados em um item, quando for gerado um erro 422 ao validar a inclusão de um item.
+ **/
+ private List
Domínio:")
+ /**
+ * Canais da análise de risco.
Domínio:
+ **/
+ private CanalConsolidadoEnum canalConsolidado = null;
+
+ /**
+ * Canais da análise de risco.<br>Domínio:
+ *
+ * @return canalConsolidado
+ **/
+ @JsonProperty("canalConsolidado")
+ public String getCanalConsolidado() {
+ if (canalConsolidado == null) {
+ return null;
+ }
+ return canalConsolidado.value();
+ }
+
+ public void setCanalConsolidado(CanalConsolidadoEnum canalConsolidado) {
+ this.canalConsolidado = canalConsolidado;
+ }
+
+ public ResultadoAnaliseRiscoDuimpCover canalConsolidado(CanalConsolidadoEnum canalConsolidado) {
+ this.canalConsolidado = canalConsolidado;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ResultadoAnaliseRiscoDuimpCover {\n" +
+ " canalConsolidado: " + toIndentedString(canalConsolidado) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/SituacaoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/SituacaoDuimpConsultaCover.java
new file mode 100644
index 0000000..ef7e58b
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/SituacaoDuimpConsultaCover.java
@@ -0,0 +1,208 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SituacaoDuimpConsultaCover", propOrder =
+ {"situacaoDuimp"
+ })
+
+@XmlRootElement(name = "SituacaoDuimpConsultaCover")
+/**
+ * Tipos de situações e controles da declaração única de importação.
+ **/
+@ApiModel(description = "Tipos de situações e controles da declaração única de importação.")
+public class SituacaoDuimpConsultaCover {
+
+
+ @XmlType(name = "SituacaoDuimpEnum")
+ @XmlEnum(String.class)
+ public enum SituacaoDuimpEnum {
+
+ @XmlEnumValue("EM_ELABORACAO")
+ @JsonProperty("EM_ELABORACAO")
+ EM_ELABORACAO("EM_ELABORACAO"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_VINCULACAO_CARGA")
+ @JsonProperty("ELABORADA_AGUARDANDO_VINCULACAO_CARGA")
+ ELABORADA_AGUARDANDO_VINCULACAO_CARGA("ELABORADA_AGUARDANDO_VINCULACAO_CARGA"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_PCCE")
+ @JsonProperty("ELABORADA_AGUARDANDO_PCCE")
+ ELABORADA_AGUARDANDO_PCCE("ELABORADA_AGUARDANDO_PCCE"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA")
+ @JsonProperty("ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA")
+ ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA("ELABORADA_AGUARDANDO_DESVINCULACAO_CARGA"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK")
+ @JsonProperty("ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK")
+ ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK("ELABORADA_AGUARDANDO_PROCESSAMENTO_DRAWBACK"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK")
+ @JsonProperty("ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK")
+ ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK("ELABORADA_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE")
+ @JsonProperty("ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE")
+ ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE("ELABORADA_AGUARDANDO_CRIACAO_ESTOQUE"),
+
+ @XmlEnumValue("ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE")
+ @JsonProperty("ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE")
+ ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE("ELABORADA_AGUARDANDO_EXCLUSAO_ESTOQUE"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_EM_ELABORACAO")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_EM_ELABORACAO")
+ SOLICITACAO_RETIFICACAO_EM_ELABORACAO("SOLICITACAO_RETIFICACAO_EM_ELABORACAO"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA")
+ SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA("SOLICITACAO_RETIFICACAO_AGUARDANDO_VINCULACAO_CARGA_NOVA"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA")
+ SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_ANTIGA"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO")
+ SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO("SOLICITACAO_RETIFICACAO_AGUARDANDO_PAGAMENTO"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA")
+ SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA("SOLICITACAO_RETIFICACAO_AGUARDANDO_DESVINCULACAO_CARGA_NOVA"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK")
+ SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK("SOLICITACAO_RETIFICACAO_AGUARDANDO_PROCESSAMENTO_DRAWBACK"),
+
+ @XmlEnumValue("SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK")
+ @JsonProperty("SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK")
+ SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK("SOLICITACAO_RETIFICACAO_AGUARDANDO_ROLLBACK_PROCESSAMENTO_DRAWBACK"),
+
+ @XmlEnumValue("REGISTRADA_AGUARDANDO_CANAL")
+ @JsonProperty("REGISTRADA_AGUARDANDO_CANAL")
+ REGISTRADA_AGUARDANDO_CANAL("REGISTRADA_AGUARDANDO_CANAL"),
+
+ @XmlEnumValue("EM_CONFERENCIA_SELECIONADA")
+ @JsonProperty("EM_CONFERENCIA_SELECIONADA")
+ EM_CONFERENCIA_SELECIONADA("EM_CONFERENCIA_SELECIONADA"),
+
+ @XmlEnumValue("DESEMBARACADA_AGUARDANDO_PENDENCIA")
+ @JsonProperty("DESEMBARACADA_AGUARDANDO_PENDENCIA")
+ DESEMBARACADA_AGUARDANDO_PENDENCIA("DESEMBARACADA_AGUARDANDO_PENDENCIA"),
+
+ @XmlEnumValue("DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA")
+ @JsonProperty("DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA")
+ DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA("DESEMBARACADA_AGUARDANDO_ENTREGA_CARGA"),
+
+ @XmlEnumValue("DESEMBARACADA_CARGA_ENTREGUE")
+ @JsonProperty("DESEMBARACADA_CARGA_ENTREGUE")
+ DESEMBARACADA_CARGA_ENTREGUE("DESEMBARACADA_CARGA_ENTREGUE"),
+
+ @XmlEnumValue("ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS")
+ @JsonProperty("ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS")
+ ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS("ENTREGA_ANTECIPADA_AGUARDANDO_PENDENCIA_TRIBUTOS_ESTADUAIS"),
+
+ @XmlEnumValue("ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA")
+ @JsonProperty("ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA")
+ ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA("ENTREGA_ANTECIPADA_AGUARDANDO_ENTREGA_CARGA"),
+
+ @XmlEnumValue("ENTREGA_ANTECIPADA_CARGA_ENTREGUE")
+ @JsonProperty("ENTREGA_ANTECIPADA_CARGA_ENTREGUE")
+ ENTREGA_ANTECIPADA_CARGA_ENTREGUE("ENTREGA_ANTECIPADA_CARGA_ENTREGUE"),
+
+ @XmlEnumValue("CANCELADA_PELA_ADUANA")
+ @JsonProperty("CANCELADA_PELA_ADUANA")
+ CANCELADA_PELA_ADUANA("CANCELADA_PELA_ADUANA"),
+
+ @XmlEnumValue("CANCELADA_POR_APURACAO")
+ @JsonProperty("CANCELADA_POR_APURACAO")
+ CANCELADA_POR_APURACAO("CANCELADA_POR_APURACAO");
+
+
+ private final String value;
+
+ SituacaoDuimpEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static SituacaoDuimpEnum fromValue(String v) {
+ for (SituacaoDuimpEnum b : SituacaoDuimpEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to SituacaoDuimpEnum");
+ }
+ }
+
+ @XmlElement(name = "situacaoDuimp")
+ @ApiModelProperty(example = "REGISTRADA_AGUARDANDO_CANAL", value = "Situação da versão vigente da Duimp.
Domínio:")
+ /**
+ * Situação da versão vigente da Duimp.
Domínio:
+ **/
+ private SituacaoDuimpEnum situacaoDuimp = null;
+
+ /**
+ * Situação da versão vigente da Duimp.<br>Domínio:
+ *
+ * @return situacaoDuimp
+ **/
+ @JsonProperty("situacaoDuimp")
+ public String getSituacaoDuimp() {
+ if (situacaoDuimp == null) {
+ return null;
+ }
+ return situacaoDuimp.value();
+ }
+
+ public void setSituacaoDuimp(SituacaoDuimpEnum situacaoDuimp) {
+ this.situacaoDuimp = situacaoDuimp;
+ }
+
+ public SituacaoDuimpConsultaCover situacaoDuimp(SituacaoDuimpEnum situacaoDuimp) {
+ this.situacaoDuimp = situacaoDuimp;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class SituacaoDuimpConsultaCover {\n" +
+ " situacaoDuimp: " + toIndentedString(situacaoDuimp) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoCalculadoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoCalculadoDuimpConsultaCover.java
new file mode 100644
index 0000000..49dfe74
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoCalculadoDuimpConsultaCover.java
@@ -0,0 +1,170 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlEnum;
+import javax.xml.bind.annotation.XmlEnumValue;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoCalculadoDuimpConsultaCover", propOrder =
+ {"tipo", "valoresBRL"
+ })
+
+@XmlRootElement(name = "TributoCalculadoDuimpConsultaCover")
+/**
+ * Valores do cálculo do tributo e a memória de cálculo.
+ **/
+@ApiModel(description = "Valores do cálculo do tributo e a memória de cálculo.")
+public class TributoCalculadoDuimpConsultaCover {
+
+
+ @XmlType(name = "TipoEnum")
+ @XmlEnum(String.class)
+ public enum TipoEnum {
+
+ @XmlEnumValue("II")
+ @JsonProperty("II")
+ II("II"),
+
+ @XmlEnumValue("IPI")
+ @JsonProperty("IPI")
+ IPI("IPI"),
+
+ @XmlEnumValue("PIS")
+ @JsonProperty("PIS")
+ PIS("PIS"),
+
+ @XmlEnumValue("COFINS")
+ @JsonProperty("COFINS")
+ COFINS("COFINS"),
+
+ @XmlEnumValue("CIDE")
+ @JsonProperty("CIDE")
+ CIDE("CIDE"),
+
+ @XmlEnumValue("ANTIDUMPING")
+ @JsonProperty("ANTIDUMPING")
+ ANTIDUMPING("ANTIDUMPING"),
+
+ @XmlEnumValue("MULTA_COM_REDUCAO")
+ @JsonProperty("MULTA_COM_REDUCAO")
+ MULTA_COM_REDUCAO("MULTA_COM_REDUCAO"),
+
+ @XmlEnumValue("MULTA_SEM_REDUCAO")
+ @JsonProperty("MULTA_SEM_REDUCAO")
+ MULTA_SEM_REDUCAO("MULTA_SEM_REDUCAO"),
+
+ @XmlEnumValue("TAXA_UTILIZACAO")
+ @JsonProperty("TAXA_UTILIZACAO")
+ TAXA_UTILIZACAO("TAXA_UTILIZACAO");
+
+
+ private final String value;
+
+ TipoEnum(String v) {
+ value = v;
+ }
+
+ public String value() {
+ return value;
+ }
+
+ @Override
+ public String toString() {
+ return String.valueOf(value);
+ }
+
+ public static TipoEnum fromValue(String v) {
+ for (TipoEnum b : TipoEnum.values()) {
+ if (String.valueOf(b.value).equals(v)) {
+ return b;
+ }
+ }
+ throw new IllegalArgumentException("Unexpected value '" + v + "' to TipoEnum");
+ }
+ }
+
+ @XmlElement(name = "tipo")
+ @ApiModelProperty(example = "II", value = "Tipo de impostos (códigos de receita principal únicos).
Domínio:")
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ @XmlElement(name = "valoresBRL")
+ @ApiModelProperty(value = "")
+ @Valid
+ private ValoresTributoDuimpConsultaCover valoresBRL = null;
+
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public TributoCalculadoDuimpConsultaCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+ /**
+ * Get valoresBRL
+ *
+ * @return valoresBRL
+ **/
+ @JsonProperty("valoresBRL")
+ public ValoresTributoDuimpConsultaCover getValoresBRL() {
+ return valoresBRL;
+ }
+
+ public void setValoresBRL(ValoresTributoDuimpConsultaCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ }
+
+ public TributoCalculadoDuimpConsultaCover valoresBRL(ValoresTributoDuimpConsultaCover valoresBRL) {
+ this.valoresBRL = valoresBRL;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoCalculadoDuimpConsultaCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ " valoresBRL: " + toIndentedString(valoresBRL) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoConsultaDuimpCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoConsultaDuimpCover.java
new file mode 100644
index 0000000..04f7576
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/TributoConsultaDuimpCover.java
@@ -0,0 +1,97 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.util.List;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "TributoConsultaDuimpCover", propOrder =
+ {"mercadoria", "tributosCalculados"
+ })
+
+@XmlRootElement(name = "TributoConsultaDuimpCover")
+public class TributoConsultaDuimpCover {
+
+ @XmlElement(name = "mercadoria")
+ @ApiModelProperty(value = "")
+ @Valid
+ private MercadoriaDuimpConsultaCover mercadoria = null;
+
+ @XmlElement(name = "tributosCalculados")
+ @ApiModelProperty(value = "")
+ @Valid
+ private List
Domínio:")
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).
Domínio:
+ **/
+ private TipoEnum tipo = null;
+
+ /**
+ * Tipo de impostos (códigos de receita principal únicos).<br>Domínio:
+ *
+ * @return tipo
+ **/
+ @JsonProperty("tipo")
+ public String getTipo() {
+ if (tipo == null) {
+ return null;
+ }
+ return tipo.value();
+ }
+
+ public void setTipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ }
+
+ public TributoDuimpConsultaCover tipo(TipoEnum tipo) {
+ this.tipo = tipo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class TributoDuimpConsultaCover {\n" +
+ " tipo: " + toIndentedString(tipo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/UnidadeDeclaradaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/UnidadeDeclaradaCover.java
new file mode 100644
index 0000000..53857a6
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/UnidadeDeclaradaCover.java
@@ -0,0 +1,74 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotNull;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "UnidadeDeclaradaCover", propOrder =
+ {"codigo"
+ })
+
+@XmlRootElement(name = "UnidadeDeclaradaCover")
+/**
+ * Unidade de Despacho.
+ **/
+@ApiModel(description = "Unidade de Despacho.")
+public class UnidadeDeclaradaCover {
+
+ @XmlElement(name = "codigo", required = true)
+ @ApiModelProperty(example = "7912001", required = true, value = "Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
Tamanho: 7
Formato: 'NNNNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/")
+ /**
+ * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.
Tamanho: 7
Formato: 'NNNNNNN'
Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ **/
+ private String codigo = null;
+
+ /**
+ * Código da unidade da RFB na qual as mercadorias acobertadas pela Duimp serão submetidas a conferência aduaneira.<br>Tamanho: 7<br>Formato: 'NNNNNNN'<br>Origem: Sistema de Tabelas Aduaneiras - https://api-docs.portalunico.siscomex.gov.br/
+ *
+ * @return codigo
+ **/
+ @JsonProperty("codigo")
+ @NotNull
+ public String getCodigo() {
+ return codigo;
+ }
+
+ public void setCodigo(String codigo) {
+ this.codigo = codigo;
+ }
+
+ public UnidadeDeclaradaCover codigo(String codigo) {
+ this.codigo = codigo;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class UnidadeDeclaradaCover {\n" +
+ " codigo: " + toIndentedString(codigo) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ValoresTributoDuimpConsultaCover.java b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ValoresTributoDuimpConsultaCover.java
new file mode 100644
index 0000000..2c5fe6a
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/duimp_balanca_principal/model/ValoresTributoDuimpConsultaCover.java
@@ -0,0 +1,215 @@
+package br.gov.siscomex.portalunico.duimp_balanca_principal.model;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.Valid;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+import java.math.BigDecimal;
+
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ValoresTributoDuimpConsultaCover", propOrder =
+ {"calculado", "aReduzir", "devido", "suspenso", "aRecolher", "recolhido"
+ })
+
+@XmlRootElement(name = "ValoresTributoDuimpConsultaCover")
+/**
+ * Valores do cálculo do tributo.
+ **/
+@ApiModel(description = "Valores do cálculo do tributo.")
+public class ValoresTributoDuimpConsultaCover {
+
+ @XmlElement(name = "calculado")
+ @ApiModelProperty(example = "1598.73", value = "Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ @Valid
+ /**
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ **/
+ private BigDecimal calculado = null;
+
+ @XmlElement(name = "aReduzir")
+ @ApiModelProperty(example = "135.7", value = "Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal aReduzir = null;
+
+ @XmlElement(name = "devido")
+ @ApiModelProperty(example = "201.12", value = "Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens")
+ @Valid
+ /**
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ **/
+ private BigDecimal devido = null;
+
+ @XmlElement(name = "suspenso")
+ @ApiModelProperty(example = "16.7", value = "Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal suspenso = null;
+
+ @XmlElement(name = "aRecolher")
+ @ApiModelProperty(example = "16.7", value = "Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal aRecolher = null;
+
+ @XmlElement(name = "recolhido")
+ @ApiModelProperty(example = "16.7", value = "Valores Recolhidos (pagos) do Tributo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.")
+ @Valid
+ /**
+ * Valores Recolhidos (pagos) do Tributo.
Tamanho: 16,7
Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ **/
+ private BigDecimal recolhido = null;
+
+ /**
+ * Valor do tributo calculado em R$ (Reais).Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso,este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ *
+ * @return calculado
+ **/
+ @JsonProperty("calculado")
+ public BigDecimal getCalculado() {
+ return calculado;
+ }
+
+ public void setCalculado(BigDecimal calculado) {
+ this.calculado = calculado;
+ }
+
+ public ValoresTributoDuimpConsultaCover calculado(BigDecimal calculado) {
+ this.calculado = calculado;
+ return this;
+ }
+
+ /**
+ * Valor a Reduzir do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aReduzir
+ **/
+ @JsonProperty("aReduzir")
+ public BigDecimal getAReduzir() {
+ return aReduzir;
+ }
+
+ public void setAReduzir(BigDecimal aReduzir) {
+ this.aReduzir = aReduzir;
+ }
+
+ public ValoresTributoDuimpConsultaCover aReduzir(BigDecimal aReduzir) {
+ this.aReduzir = aReduzir;
+ return this;
+ }
+
+ /**
+ * Valor do tributo devido em R$ (Reais). Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores originalmente devidos dos itens.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto. Para Duimp COM situação especial de despacho, cujo motivo (da situação especial de despacho) indique cobrança de tributo suspenso, este valor possuirá o somatório dos valores calculados do pagamento proporcional dos itens
+ *
+ * @return devido
+ **/
+ @JsonProperty("devido")
+ public BigDecimal getDevido() {
+ return devido;
+ }
+
+ public void setDevido(BigDecimal devido) {
+ this.devido = devido;
+ }
+
+ public ValoresTributoDuimpConsultaCover devido(BigDecimal devido) {
+ this.devido = devido;
+ return this;
+ }
+
+ /**
+ * Valor Suspenso do Tributo em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return suspenso
+ **/
+ @JsonProperty("suspenso")
+ public BigDecimal getSuspenso() {
+ return suspenso;
+ }
+
+ public void setSuspenso(BigDecimal suspenso) {
+ this.suspenso = suspenso;
+ }
+
+ public ValoresTributoDuimpConsultaCover suspenso(BigDecimal suspenso) {
+ this.suspenso = suspenso;
+ return this;
+ }
+
+ /**
+ * Valor a Recolher do Imposto de Importação em R$ (Reais).<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return aRecolher
+ **/
+ @JsonProperty("aRecolher")
+ public BigDecimal getARecolher() {
+ return aRecolher;
+ }
+
+ public void setARecolher(BigDecimal aRecolher) {
+ this.aRecolher = aRecolher;
+ }
+
+ public ValoresTributoDuimpConsultaCover aRecolher(BigDecimal aRecolher) {
+ this.aRecolher = aRecolher;
+ return this;
+ }
+
+ /**
+ * Valores Recolhidos (pagos) do Tributo.<br>Tamanho: 16,7<br>Formato: Decimal, com até 7 casas decimais separadas por ponto.
+ *
+ * @return recolhido
+ **/
+ @JsonProperty("recolhido")
+ public BigDecimal getRecolhido() {
+ return recolhido;
+ }
+
+ public void setRecolhido(BigDecimal recolhido) {
+ this.recolhido = recolhido;
+ }
+
+ public ValoresTributoDuimpConsultaCover recolhido(BigDecimal recolhido) {
+ this.recolhido = recolhido;
+ return this;
+ }
+
+
+ @Override
+ public String toString() {
+
+ String sb = "class ValoresTributoDuimpConsultaCover {\n" +
+ " calculado: " + toIndentedString(calculado) + "\n" +
+ " aReduzir: " + toIndentedString(aReduzir) + "\n" +
+ " devido: " + toIndentedString(devido) + "\n" +
+ " suspenso: " + toIndentedString(suspenso) + "\n" +
+ " aRecolher: " + toIndentedString(aRecolher) + "\n" +
+ " recolhido: " + toIndentedString(recolhido) + "\n" +
+ "}";
+ return sb;
+ }
+
+ /**
+ * Convert the given object to string with each line indented by 4 spaces
+ * (except the first line).
+ */
+ private static String toIndentedString(java.lang.Object o) {
+ if (o == null) {
+ return "null";
+ }
+ return o.toString().replace("\n", "\n ");
+ }
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo1ControleDeReasEEquipamentosApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo1ControleDeReasEEquipamentosApi.java
new file mode 100644
index 0000000..107620c
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo1ControleDeReasEEquipamentosApi.java
@@ -0,0 +1,73 @@
+package br.gov.siscomex.portalunico.rcnt.api;
+
+import br.gov.siscomex.portalunico.rcnt.model.DadosGeorreferenciamento;
+import br.gov.siscomex.portalunico.rcnt.model.DadosIndisponibilidadeEquipamento;
+import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao;
+import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.Valid;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+/**
+ * Recintos Aduaneiros
+ *
+ * Introdução
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação de Empresas https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} Ambiente de Produção https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} Organização por Tópicos dos Eventos
Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:
+ *
+ */
+@Path("/")
+@Api(value = "/", description = "")
+public interface Grupo1ControleDeReasEEquipamentosApi {
+
+ /**
+ * Georreferenciamento
+ *
+ * Neste evento devem ser enviadas as informações de georreferenciamento de áreas e equipamentos do recinto.<br/>As áreas e equipamentos considerados devem ser os constantes da lista de domínio “tipo”.<br/>As coordenadas de cada objeto definido podem ser um polígono ou ponto, por exemplo:<br/><ul><li>O perímetro da área alfandegada e demais áreas... (polígono);<br/></li><li>As câmeras do sistema de CFTV, inclusive dos Gates e que fazem parte do sistema de OCR (ponto);</li><li>As catracas, torniquetes e outros instrumentos de controle de acesso de pessoas (ponto);</li><li>As balanças, medidores e outros equipamentos utilizados para quantificação (ponto);</li><li>Os Portêiner, Shiploader e outros instrumentos de manipulação de unidades de carga em navios (ponto/polígono);</li><li>Os escâneres, tanto de contêineres, veículos ou volumes (ponto);</li><li>Os gates, portões e outros instrumentos de controle de acesso de veículos (ponto).</li></ul>Obs.: Visando facilitar o preenchimento das coordenadas, os valores da Latitude e Longitude devem estar dentro dos seguintes limites:<br/><br/>Latitude: entre +10.000000 e -38.000000 <br/>Longitude: entre -30.000000 e -78.000000
+ *
+ */
+ @POST
+ @Path("/ext/evento-georreferenciamento")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Georreferenciamento", notes = "Neste evento devem ser enviadas as informações de georreferenciamento de áreas e equipamentos do recinto.
As áreas e equipamentos considerados devem ser os constantes da lista de domínio “tipo”.
As coordenadas de cada objeto definido podem ser um polígono ou ponto, por exemplo:
Obs.: Visando facilitar o preenchimento das coordenadas, os valores da Latitude e Longitude devem estar dentro dos seguintes limites:
Latitude: entre +10.000000 e -38.000000
Longitude: entre -30.000000 e -78.000000", tags={ "Grupo 1 - Controle de Áreas e Equipamentos" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST12(@ApiParam(value = "JSON do evento Georreferenciamento" ,required=true)@Valid DadosGeorreferenciamento body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Ocorrências de indisponibilidades de equipamentos
+ *
+ * Transmitir um evento para cada indisponibilidade e retorno à normalidade de cada equipamento definido.<br/>Não considerar indisponibilidades do tipo “house keeping”, casos de manutenção preventiva, rápida e, muitas vezes, diária de equipamentos (exemplo: trocas de óleo em Portêiner que é executada diariamente).
+ *
+ */
+ @POST
+ @Path("/ext/indisponibilidade-equipamentos")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Ocorrências de indisponibilidades de equipamentos", notes = "Transmitir um evento para cada indisponibilidade e retorno à normalidade de cada equipamento definido.
Não considerar indisponibilidades do tipo “house keeping”, casos de manutenção preventiva, rápida e, muitas vezes, diária de equipamentos (exemplo: trocas de óleo em Portêiner que é executada diariamente).", tags={ "Grupo 1 - Controle de Áreas e Equipamentos" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST17(@ApiParam(value = "JSON do evento Ocorrências Indisponibilidades Equipamentos" ,required=true)@Valid DadosIndisponibilidadeEquipamento body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo2ControleDePessoasApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo2ControleDePessoasApi.java
new file mode 100644
index 0000000..2b7062f
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo2ControleDePessoasApi.java
@@ -0,0 +1,95 @@
+package br.gov.siscomex.portalunico.rcnt.api;
+
+import br.gov.siscomex.portalunico.rcnt.model.DadosAcessoPessoa;
+import br.gov.siscomex.portalunico.rcnt.model.DadosCredenciamentoPessoa;
+import br.gov.siscomex.portalunico.rcnt.model.DadosRepresentante;
+import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao;
+import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.Valid;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+/**
+ * Recintos Aduaneiros
+ *
+ * Introdução
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação de Empresas https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} Ambiente de Produção https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} Organização por Tópicos dos Eventos
Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:
+ *
+ */
+@Path("/")
+@Api(value = "/", description = "")
+public interface Grupo2ControleDePessoasApi {
+
+ /**
+ * Credenciamento de Pessoas
+ *
+ * Um evento para cada pessoa credenciada para acesso ao recinto (entrada/saída).<br/>Considerar acesso às áreas alfandegadas apenas.<br/>Transmitir logo que encerrar o ato de credenciamento.<br/>Um evento para cada CPF credenciado.<br/><br/>Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.<br/>Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.<br/>Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.<br/>(por exemplo: no caso de funcionários não há validade de credenciamento logo no caso de demissão o evento de credenciamento deve ser retificado para status = inativo).
+ *
+ */
+ @POST
+ @Path("/ext/credenciamento-pessoas")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Credenciamento de Pessoas", notes = "Um evento para cada pessoa credenciada para acesso ao recinto (entrada/saída).
Considerar acesso às áreas alfandegadas apenas.
Transmitir logo que encerrar o ato de credenciamento.
Um evento para cada CPF credenciado.
Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.
Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.
Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.
(por exemplo: no caso de funcionários não há validade de credenciamento logo no caso de demissão o evento de credenciamento deve ser retificado para status = inativo).", tags={ "Grupo 2 - Controle de Pessoas" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST10(@ApiParam(value = "JSON do evento Credenciamento Pessoas" ,required=true)@Valid DadosCredenciamentoPessoa body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Representantes
+ *
+ * Lista de pessoas que acessam o sistema do recinto em nome de cada cliente ou que possuam representação via procuração. Diferente do cadastro de representação do Siscomex. Toda representação via sistema ou papel deve ser informada. Transmitir um evento para cada representação CPF/CNPJ.
+ *
+ */
+ @POST
+ @Path("/ext/representantes")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Representantes", notes = "Lista de pessoas que acessam o sistema do recinto em nome de cada cliente ou que possuam representação via procuração. Diferente do cadastro de representação do Siscomex. Toda representação via sistema ou papel deve ser informada. Transmitir um evento para cada representação CPF/CNPJ.", tags={ "Grupo 2 - Controle de Pessoas" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST21(@ApiParam(value = "JSON do evento Representantes" ,required=true)@Valid DadosRepresentante body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Controle de Acesso de Pessoas
+ *
+ * Um evento para cada acesso (entrada ou saída) de pessoa ao recinto. Transmitir imediatamente ao acesso (entrada ou saída).<br/>Um evento para cada acesso de CPF;
+ *
+ */
+ @POST
+ @Path("/ext/acesso-pessoas")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Controle de Acesso de Pessoas", notes = "Um evento para cada acesso (entrada ou saída) de pessoa ao recinto. Transmitir imediatamente ao acesso (entrada ou saída).
Um evento para cada acesso de CPF;", tags={ "Grupo 2 - Controle de Pessoas" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST7(@ApiParam(value = "JSON do evento Acesso Pessoa" ,required=true)@Valid DadosAcessoPessoa body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo3ControleDeVeculosTerrestresApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo3ControleDeVeculosTerrestresApi.java
new file mode 100644
index 0000000..9d06a4f
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo3ControleDeVeculosTerrestresApi.java
@@ -0,0 +1,95 @@
+package br.gov.siscomex.portalunico.rcnt.api;
+
+import br.gov.siscomex.portalunico.rcnt.model.DadosAcessoVeculo;
+import br.gov.siscomex.portalunico.rcnt.model.DadosCredenciamentoVeculo;
+import br.gov.siscomex.portalunico.rcnt.model.DadosPosioVeculoPtio;
+import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao;
+import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.Valid;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+/**
+ * Recintos Aduaneiros
+ *
+ * Introdução
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.URLs de Acesso
Nome do Ambiente URL de acesso Ambiente de Validação de Empresas https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} Ambiente de Produção https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} Organização por Tópicos dos Eventos
Os endpoints relativos aos 22 eventos estão distribuídos em 6 grupos, conforme abaixo:
+ *
+ */
+@Path("/")
+@Api(value = "/", description = "")
+public interface Grupo3ControleDeVeculosTerrestresApi {
+
+ /**
+ * Credenciamento de Veículos Terrestres
+ *
+ * Um evento para cada veículo credenciado para entrar/sair no recinto.<br/>Transmitir ao final do ato de credenciamento.<br/>Um evento deve ser transmitido para cada credenciamento de cavalo-trator, outro evento para cada semirreboque, outro para cada vagão…<br/>Um evento para cada PLACA credenciada.<br/><br/>Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.<br/>Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.<br/>Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.
+ *
+ */
+ @POST
+ @Path("/ext/credenciamento-veiculos")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Credenciamento de Veículos Terrestres", notes = "Um evento para cada veículo credenciado para entrar/sair no recinto.
Transmitir ao final do ato de credenciamento.
Um evento deve ser transmitido para cada credenciamento de cavalo-trator, outro evento para cada semirreboque, outro para cada vagão…
Um evento para cada PLACA credenciada.
Obs.: Quando do credenciamento inicial informar “credenciamentoAtivo:true” e validade do credenciamento caso existir.
Casos em que a validade do credenciamento seja informada, a RFB vai considerar credenciamento inativo quando do vencimento do prazo.
Para os casos que não exista validade do credenciamento o evento deve ser retificado para “credenciamentoAtivo:false” quando for o caso.", tags={ "Grupo 3 - Controle de Veículos Terrestres" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST11(@ApiParam(value = "JSON do evento Credenciamento de Veículos" ,required=true)@Valid DadosCredenciamentoVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Posição de Veículo Terrestre no Pátio
+ *
+ * Um evento para cada mudança de posição de veículo no pátio. Evento comum em recintos do modal rodoviário.<br/>Transmitir imediatamente a finalização do posicionamento.<br/>Um evento para cada conjunto PLACA/CONTÊINER/CHASSI posicionada num box no pátio.
+ *
+ */
+ @POST
+ @Path("/ext/posicao-veiculo-patio")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Posição de Veículo Terrestre no Pátio", notes = "Um evento para cada mudança de posição de veículo no pátio. Evento comum em recintos do modal rodoviário.
Transmitir imediatamente a finalização do posicionamento.
Um evento para cada conjunto PLACA/CONTÊINER/CHASSI posicionada num box no pátio.", tags={ "Grupo 3 - Controle de Veículos Terrestres" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST20(@ApiParam(value = "JSON do evento Posição Veículo Pátio" ,required=true)@Valid DadosPosioVeculoPtio body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+
+ /**
+ * Controle de Agendamento/Acesso de Veículo Terrestre
+ *
+ * Um evento para cada agendamento ou acesso (entrada ou saída) de veículo ao recinto. Transmitir imediatamente ao agendamento ou ao acesso (entrada ou saída).<br/>Um evento para cada agendamento/acesso PLACA/CHASSI/LOCOMOTIVA.<br/><br/>Obs.: O manifesto e conhecimento de carga informado devem ser os internacionais sempre que existirem. Do contrário deve ser informado conhecimento interno. Exemplo: No ingresso de veículo com contêiner para exportação sem BL existente, tal evento deve constar a informação do CT-e.<br/><br/>Este evento possui integração com Controle de Carga e Trânsito na Importação (CCT Importação) para a funcionalidade \"chegada de veículo terrestre\" (Para mais informações,<a href =\"https://www.gov.br/siscomex/pt-br/arquivos-e-imagens/manualcctimportao.pdf\"> clique aqui</a>)
+ *
+ */
+ @POST
+ @Path("/ext/acesso-veiculos")
+ @Consumes({ "application/json" })
+ @Produces({ "application/json" })
+ @ApiOperation(value = "Controle de Agendamento/Acesso de Veículo Terrestre", notes = "Um evento para cada agendamento ou acesso (entrada ou saída) de veículo ao recinto. Transmitir imediatamente ao agendamento ou ao acesso (entrada ou saída).
Um evento para cada agendamento/acesso PLACA/CHASSI/LOCOMOTIVA.
Obs.: O manifesto e conhecimento de carga informado devem ser os internacionais sempre que existirem. Do contrário deve ser informado conhecimento interno. Exemplo: No ingresso de veículo com contêiner para exportação sem BL existente, tal evento deve constar a informação do CT-e.
Este evento possui integração com Controle de Carga e Trânsito na Importação (CCT Importação) para a funcionalidade \"chegada de veículo terrestre\" (Para mais informações, clique aqui)", tags={ "Grupo 3 - Controle de Veículos Terrestres" })
+ @ApiResponses(value = {
+ @ApiResponse(code = 201, message = "Recurso criado com sucesso", response = RespostaParaSucessoNaRecepoDeEventoAduaneiro.class),
+ @ApiResponse(code = 400, message = "Requisição mal formatada"),
+ @ApiResponse(code = 401, message = "Usuário não autenticado ou autenticação inválida", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 403, message = "Usuário não tem permissão de acesso ao recurso"),
+ @ApiResponse(code = 422, message = "Erro(s) de validação da camada de negócio", response = ExceptionCoverDocumentacao.class),
+ @ApiResponse(code = 500, message = "Erro interno no servidor"),
+ @ApiResponse(code = 503, message = "Serviço indisponível") })
+ public Response incluirUsingPOST8(@ApiParam(value = "JSON do evento Acesso Veículo" ,required=true)@Valid DadosAcessoVeculo body, @ApiParam(value = "JSON Web Token (JWT) contendo as informações do usuário. Este token deve ser preenchido com o conteúdo do header Set-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("Authorization") String authorization, @ApiParam(value = "Token de prevenção contra ataques CSRF (Cross-Site Request Forgery). Este token deve ser preenchido com o conteúdo do header X-CSRF-Token, retornado no response headers da chamada ao serviço de autenticação." ,required=true)@HeaderParam("X-CSRF-Token") String xCSRFToken);
+}
+
diff --git a/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo4OperaesDePesagemEEscaneamentoApi.java b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo4OperaesDePesagemEEscaneamentoApi.java
new file mode 100644
index 0000000..08bc0fa
--- /dev/null
+++ b/src/main/java/br/gov/siscomex/portalunico/rcnt/api/Grupo4OperaesDePesagemEEscaneamentoApi.java
@@ -0,0 +1,73 @@
+package br.gov.siscomex.portalunico.rcnt.api;
+
+import br.gov.siscomex.portalunico.rcnt.model.DadosDaInspeoNoInvasiva;
+import br.gov.siscomex.portalunico.rcnt.model.DadosPesagemVeculo;
+import br.gov.siscomex.portalunico.rcnt.model.ExceptionCoverDocumentacao;
+import br.gov.siscomex.portalunico.rcnt.model.RespostaParaSucessoNaRecepoDeEventoAduaneiro;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import io.swagger.annotations.ApiResponse;
+import io.swagger.annotations.ApiResponses;
+
+import javax.validation.Valid;
+import javax.ws.rs.Consumes;
+import javax.ws.rs.HeaderParam;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Response;
+
+/**
+ * Recintos Aduaneiros
+ *
+ * Introdução
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.
O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.
Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.
A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.
O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.
Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.
Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:
1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.
O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.
Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.
Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.
Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:
Nome do Ambiente | URL de acesso |
---|---|
Ambiente de Validação de Empresas | https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Ambiente de Produção | https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:
https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas
Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.
Disponibilizamos os endpoints de 22 eventos.
Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.
O processo de autenticação deve ser executado conforme descrito em Autenticação.
Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:
I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.
O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.
Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.
A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.
O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.
Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.
Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:
1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.
O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.
Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.
Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.
Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:
Nome do Ambiente | URL de acesso |
---|---|
Ambiente de Validação de Empresas | https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Ambiente de Produção | https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:
https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas
Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.
Disponibilizamos os endpoints de 22 eventos.
Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.
O processo de autenticação deve ser executado conforme descrito em Autenticação.
Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:
I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.
O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.
Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.
A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.
O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.
Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.
Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:
1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.
O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.
Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.
Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.
Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:
Nome do Ambiente | URL de acesso |
---|---|
Ambiente de Validação de Empresas | https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Ambiente de Produção | https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:
https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas
Esta documentação refere-se à API Recintos disponível em ambiente de Produção (Release Apa). A documentação da API Recintos referente às evoluções da API Recintos disponíveis em ambiente de Validação de Empresas (Release Volga) está disponível em: https://docs-proxima.portalunico.siscomex.gov.br/swagger/rcnt.html.
Bem-vindo à Application Programming Interface (API) de interação entre os recintos e o Portal Único de Comércio Exterior no Sistema Integrado de Comércio Exterior (Portal Siscomex), aqui chamada de API-Recintos. Trata-se de um conjunto de rotinas e padrões de programação para acesso a um aplicativo de software baseado nos padrões Web, que permitirá a recepção de eventos dentro do Portal Siscomex.
Disponibilizamos os endpoints de 22 eventos.
Para a utilização dos serviços desta API, a autenticação via certificação digital, do tipo e-CNPJ, é obrigatória. Caso seja verificado erro na autenticação ao serviço, o sistema irá retornar o erro referente à autenticação conforme especificado na seção Status Codes da API.
O processo de autenticação deve ser executado conforme descrito em Autenticação.
Definições importantes, conforme a Portaria Coana no 72, de 12 de abril de 2022:
I - Sistema Informatizado de Controle Aduaneiro (SICA): o conjunto de sistemas informatizados de controle que operem em locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro;
II - interveniente: a administradora de local ou recinto alfandegado ou autorizado a operar com mercadorias sob controle aduaneiro, o depositário e o operador portuário habilitado ou autorizado a operar nestes locais ou recintos;
III - informações: aquelas relativas às operações de entrada e saída de pessoas e veículos, movimentação de carga e armazenamento de mercadorias, inclusive imagens;
IV - registro: a inserção e a retificação de informações no SICA;
V - eventos: o conjunto de informações previstas no Anexo III desta Portaria que devem ser enviadas à API-Recintos simultaneamente ao seu registro no SICA; e
VI - envio de eventos à API-Recintos: transmissão eletrônica de conjunto de informações, inclusive imagens, registradas no SICA à API-Recintos, por meio da integração entre estes.
O interveniente deverá registrar no SICA e enviar para a API-Recintos, para cada operação que realizar, todas as informações de cada evento, excetuadas as informações inaplicáveis ao caso em concreto.
O envio de eventos retificadores substitui completamente as informações prestadas no evento retificado.
Todos os eventos enviados à API-Recintos devem conter o CPF do preposto que realizou o registro das informações no SICA, ressalvados os casos de informações coletadas automaticamente.
A cada envio de eventos à API-Recintos será retornado um protocolo de recepção que deve ser armazenado no SICA. Esse recibo será a identificação única de um evento dentro da API-Recintos e deve ser utilizado para solicitar a retificação ou exclusão do referido evento. Esse protocolo também deve ser utilizado na identificação de artefatos georreferenciados.
O SICA deverá funcionar de forma ininterrupta e permitir o envio de eventos à API-Recintos de forma simultânea e integrada com o registro de informações relativas às operações executadas nos locais ou recintos alfandegados ou autorizados a operar com mercadorias sob controle aduaneiro.
Nota 1: O ambiente de validação/treinamento foi projetado para possibilitar testes de integração entre o SICA e a API-Recintos. Portanto, faça uso racional do ambiente de validação/treinamento pois tentativas massivas de envios de eventos poderão ter limitação temporária de acesso.
Abaixo, foram consolidadas informações técnicas para a integração dos sistemas dos intervenientes com o Portal:
1) No Portal, todos os serviços adotam o mesmo protocolo de acesso, baseado no padrão SSL/TLS e no uso de certificado digital. A API do Portal foi desenvolvida baseada na arquitetura REST. Ela trabalhará com o formato JSON. Além disso, toda a nossa API usará o formato UTF-8;
2) Cada envio deve conter um único evento por vez, seguindo o model previsto para cada qual, sendo comum a todos os eventos os dados referentes ao Cabeçalho do Evento (model: Cabeçalho Envio Evento Aduaneiro);
3) O processo de recepção, por parte da API-Recintos, é composta por etapa de validação, armazenamento e, por fim, retorna-se o protocolo de recepção. Dessa maneira, somente será atribuído e retornado o protocolo de recepção para os eventos processados com sucesso. Qualquer erro de validação ou no processamento ocasiona a interrupção da recepção, sendo retornado detalhamento do erro;
4) Para Operações de Retificação e Exclusão é obrigatório informar valor para o atributo protocoloEventoRetificadoOuExcluido que deve apontar para o evento alvo da ação de Retificação ou Exclusão;
5) Para Operações de Exclusão orientamos preencherem apenas o cabeçalho dos eventos.
6) Listas: cada atributo de lista deverá conter um atributo idElemento que identifique unicamente cada item da lista. No caso de eventos retificadores, que referenciam um evento transmitido anteriormente, o recinto deve ser capaz de 'repetir' o mesmo 'idElemento' utilizado no evento retificado;
7) Atributos duplicados: a API não critica atributos duplicados e, caso existam, o conteúdo da segunda ocorrência irá sobrepor o conteúdo da primeira;
8) Domínios: os domínios são sensíveis a maiúsculas e minúsculas;
9) Atributos de data/hora com fuso: deve-se enviar o fuso horário no qual tal data/hora foi gerada considerando, inclusive, o horário de verão.
10) Os perfis de autenticação que devem ser utilizados pelas empresas são: a) Depositário (DEPOSIT) ou b) Operador Portuário (OPERPORT).
11) O campo \"codigoRecinto\" deve ser informado obrigatoriamente em todos os eventos transmitidos na API Recintos.
12) Os campos que representam informações de CPF e CNPJ em eventos deve ser informados somente com números, sem caracteres de formatação.
13) Para todos os eventos, o tamanho máximo da mensagem em formato JSON deve ser 500KB.
14) Na recepção de eventos de inclusão, será rejeitado o evento para o qual for verificado que já existe evento com o mesmo ID, CNPJ, código do recinto e tipo de evento, recebido nos últimos 60 minutos, considerando a data de transmissão.
O depositário, inclusive quando executar atividades de operador portuário em seu próprio recinto, pode enviar todos os eventos com a autenticação DEPOSIT. O pacote de dados a ser transmitido deve informar o seu código de recinto (codigoRecinto), ou seja, o código do recinto onde ocorreu o evento a ser transmitido.
Caso o interveniente atue exclusivamente como operador portuário, ou seja, não acumule ambas as atuações (depositário e operador portuário) no recinto de ocorrência do evento, então ele deve usar o perfil OPERPORT para autenticação. Enfatiza-se que o código de recinto (codigoRecinto), indicado no pacote de dados, deve refletir o recinto onde, de fato, ocorreu o evento a ser transmitido.
Ressaltamos que o servidor da API Recintos possui horário sincronizado com o protocolo NTP.BR. Orientamos que os recintos sincronizem os servidores envolvidos na geração e transmissão dos eventos com o mesmo protocolo.
Para utilizar os serviços disponíveis nessa API deve-se usar as seguintes de URLs:
Nome do Ambiente | URL de acesso |
---|---|
Ambiente de Validação de Empresas | https://val.portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Ambiente de Produção | https://portalunico.siscomex.gov.br/recintos-ext/api/{serviço} |
Logo, abaixo temos um exemplo de URL completa considerando o ambiente de Validação de Empresas, consumindo o serviço de Credenciamento de Pessoas:
https://val.portalunico.siscomex.gov.br/recintos-ext/api/ext/credenciamento-pessoas
- * - */ -@Path("/") -@Api(value = "/", description = "") -public interface ServiosDestinadosRecepoDeEventosAduaneiros_Api { - - /** - * Agenda/Operação de Navios/Aeronaves - * - * Um evento para cada inclusão / alteração no 'line up' / 'agenda' de navios / aeronaves com atracação / pouso previstos para o recinto.<br/><br/>Transmitir a agenda (previsão), a chegada (atracação/desatracação pouso/decolagem) e a operação.<br/><br/>Evento aplicável para recintos com atracadouro ou pista aeronáutica próprios.<br/><br/><br/>Exemplo de eventos para Navio:<br/><br/>Chegada (informa a viagem e escala de chegada, dados da embarcação, dentre outros)<br/><br/>evento 1 - previsão de atracação e desatracação;<br/><br/>evento 2 - previsão + efetiva atracação<br/><br/>evento 3 - previsão + efetiva atracação + início operação <br/><br/><br/>Saída (informa a viagem e escala de partida, dados da embarcação, dentre outros)<br/><br/>evento 4 - previsão + efetiva atracação + início operação + final operação <br/><br/>evento 5 - previsão + efetiva atracação + início operação + final operação + efetiva desatracação <br/><br/><br/>Exemplo de eventos para Aeronave:<br/><br/>Chegada (informa o VOO e viagem de chegada, dados da aeronave, dentre outros)<br/><br/>evento 1 - previsão de pouso;<br/><br/>evento 2 - previsão + efetivo pouso<br/><br/>evento 3 - previsão + efetivo pouso + início operaçã<br/><br/><br/>Saída (informa o VOO e viagem de partida, dados da aeronave, dentre outros)<br/><br/>evento 4 - previsão + efetivo pouso + início operação + previsão de partida; <br/><br/>evento 5 - previsão + efetivo pouso + início operação + previsão + final operação <br/><br/>evento 6 - previsão + efetivo pouso + início operação + previsão + final operação + efetiva partida<br/><br/><strong>Transmitir imediatamente a recepção da informação.</strong><br/> - * - */ - @POST - @Path("/ext/agenda-navios-aeronaves") - @Consumes({"application/json"}) - @Produces({"application/json"}) - @ApiOperation(value = "Agenda/Operação de Navios/Aeronaves", notes = "Um evento para cada inclusão / alteração no 'line up' / 'agenda' de navios / aeronaves com atracação / pouso previstos para o recinto.