Detalhe da Carga
Detalhe da Carga
A tela de Detalhe da Carga é onde o motorista consulta e executa uma entrega específica dentro da carga do dia: os produtos da entrega, a janela de horário de descarregamento (quando houver) e os botões de ação que conduzem a entrega do início ao fim.
Visão Geral
A tela de Detalhe da Carga é onde o motorista consulta e executa uma entrega específica dentro da carga do dia: os produtos da entrega, a janela de horário de descarregamento (quando houver) e os botões de ação que conduzem a entrega do início ao fim. O motorista chega a esta tela tocando em uma entrega na lista de cargas; a maior parte das ações concluídas com sucesso devolve o motorista a essa lista, com uma mensagem de confirmação. Ações que exigem uma etapa adicional — check-in, registro de evidências, coleta de assinatura, selfie ou canhoto físico — levam o motorista para telas próprias, retornando ao Detalhe da Carga ou seguindo direto para a conclusão da entrega.
Pré-requisitos
- A tela só é alcançada a partir da lista de cargas, selecionando uma entrega específica; não existe uma forma de abri-la diretamente sem essa seleção prévia.
- Para iniciar uma nova entrega, não pode haver nenhuma outra entrega da mesma carga com status “em andamento” no momento.
- Antes de iniciar, finalizar, reentregar, cancelar ou reagendar uma entrega, o aplicativo tenta enviar ao servidor as evidências registradas enquanto o motorista estava sem conexão; se esse envio falhar, a ação não é realizada.
- Quando a entrega exige confirmação de proximidade (para check-in e/ou para finalização), o aplicativo precisa de acesso à localização do aparelho; se a permissão de localização estiver negada, a ação correspondente é bloqueada.
Fluxo Operacional
- O motorista seleciona uma entrega na lista de cargas e abre o Detalhe da Carga, que mostra os produtos da carga, a janela de horário de descarregamento do dia (quando houver) e os botões de ação disponíveis para o status atual da entrega.
- Se a entrega estiver “aguardando” e não houver outra entrega em andamento na carga, o motorista toca em “Iniciar Entrega” para começar.
- Com a entrega em andamento, o motorista pode fazer o check-in no local (com validação de proximidade quando exigida pela entrega), anexar evidências a qualquer momento, ou registrar “Não Entrega” caso não consiga concluir a entrega.
- Para concluir, o motorista toca em “Finalizar Entrega”. Se a entrega exigir confirmação de proximidade, o aplicativo valida a distância até o endereço do cliente antes de prosseguir.
- Validada a proximidade (ou não sendo ela exigida), se a entrega exigir comprovação de recebimento, o aplicativo pergunta se o motorista deseja coletar os dados do recebedor; a partir da resposta e da configuração da entrega, abre a tela de assinatura, de selfie ou de canhoto físico apropriada — reaproveitando uma evidência já salva quando existir uma. Se a entrega não exigir nenhuma comprovação, ela é concluída imediatamente.
- Ao concluir a entrega (ou ao iniciar, reentregar, cancelar ou reagendar com sucesso), o aplicativo retorna à lista de cargas mostrando uma mensagem de confirmação; em caso de falha, a tela de detalhe permanece aberta mostrando a mensagem de erro correspondente.
- A qualquer momento, o motorista pode tocar em “Como Chegar” para abrir um aplicativo de mapa instalado no aparelho com a rota até o endereço do cliente, e, quando a entrega permitir, reagendar ou cancelar a entrega diretamente pelos botões de ação.
Interface e Comportamentos
Botões de Ação da Entrega no Detalhe da Carga
O botão “Check-in” só fica habilitado quando o status da entrega é “em andamento” e ainda não existe check-in registrado para ela; nos demais casos permanece desabilitado.
O botão “Não Entrega” só fica habilitado quando o status da entrega é “em andamento”.
O botão “Evidências” fica habilitado sempre que o status da entrega for diferente de “aguardando”. Ao ser tocado, o aplicativo limpa qualquer dado de evidência carregado anteriormente e abre a tela de Registro de Evidências para a entrega selecionada.
O botão “Reentrega” fica habilitado apenas quando o status da entrega é “em andamento”.
O botão “Iniciar Entrega” fica habilitado apenas quando o status da entrega é “aguardando”.
O botão “Reagendar” só aparece na tela quando a entrega permite reagendamento. O botão “Cancelar” só aparece quando a entrega permite cancelamento. O botão “Finalizar Entrega” fica habilitado apenas quando o status da entrega é “em andamento”.
Cores dos Botões conforme o Status da Entrega
A cor do botão de Check-in segue três condições, nesta ordem: se já existe check-in registrado e o status da entrega não é “falhou” nem “finalizada”, a cor é verde; senão, se o status é “em andamento”, a cor é cinza-escuro; em qualquer outro caso, a cor é cinza.
A cor do botão de Não Entrega é vermelha quando o status da entrega é “falhou”; em qualquer outro status a cor é cinza-escuro.
Botão “Como Chegar”
O botão lê o endereço cadastrado do cliente e lista os aplicativos de mapa instalados no aparelho para o motorista escolher; ao escolher um, o aplicativo de mapa é aberto com um marcador no endereço do cliente e o nome do cliente como título.
Confirmação de Coleta de Dados de Recebimento
Ao finalizar uma entrega cuja validação de proximidade foi aprovada (ou que não exige essa validação), se a entrega exigir comprovação de recebimento, o aplicativo pergunta se o motorista deseja coletar os dados de recebimento antes de concluir. Se a entrega não exigir comprovação, ela é concluída imediatamente, sem essa pergunta.
Ao confirmar a coleta de dados, o aplicativo decide o que abrir seguindo esta ordem exata de prioridade:
- Se a entrega permite coletar dados do recebedor: o aplicativo verifica se já existe uma assinatura salva para essa entrega. Havendo assinatura salva e a entrega também permitindo coleta de assinatura, abre a visualização do canhoto já assinado. Não havendo assinatura salva (mas a entrega permitindo coleta de assinatura), abre o formulário de dados do recebedor para nova assinatura. Se a entrega permite dados do recebedor mas não permite coleta de assinatura, abre diretamente o formulário de dados do recebedor, independentemente de existir assinatura salva.
- Senão, se a entrega não permite coletar dados do recebedor mas permite coleta de assinatura: abre diretamente a tela de assinatura em branco, sem nome nem CPF/CNPJ preenchidos.
- Senão, se a entrega permite coleta de selfie: verifica se já existe uma selfie salva e abre a tela de selfie, pré-carregada com a selfie salva quando houver.
- Senão, se a entrega permite coleta de canhoto físico fotografado: verifica se já existe um canhoto físico salvo e abre essa tela, pré-carregada com o canhoto salvo quando houver.
- Se a entrega não permite nenhuma das formas de comprovação acima, o aplicativo retorna à lista de cargas e conclui a entrega sem coletar nenhuma evidência adicional.
Lista de Produtos da Carga
A tela mostra cada produto da carga com sua descrição, a quantidade com a unidade de medida, o volume e o valor do produto. Se a carga não tiver nenhum produto cadastrado, a lista é substituída pela mensagem “Nenhum produto encontrado!”.
Janela de Horário de Descarregamento
Quando há horário de descarregamento cadastrado para o dia atual da semana, a tela mostra essa janela logo abaixo do cabeçalho da carga. Quando não há nenhuma janela cadastrada para o dia atual, essa área não é exibida.
Feedbacks ao Usuário
Feedbacks das Ações sobre a Entrega
| Situação | Feedback | Texto exato |
|---|---|---|
| Falha ao enviar evidências pendentes antes de qualquer ação sobre a entrega | mensagem de erro | “Falha na sincronização” |
| Tentativa de iniciar uma entrega com outra já em andamento na carga | mensagem de erro | “Entrega $number em andamento. Finalize-a antes de iniciar outra.” |
| Entrega iniciada com sucesso | mensagem de confirmação, retorno à lista de cargas | “Entrega iniciada!” |
| Entrega finalizada com sucesso | mensagem de confirmação, retorno à lista de cargas | “Entrega finalizada!” |
| Falha do servidor ao finalizar a entrega | mensagem de erro | “Falha na finalização. $message” |
| Reentrega registrada com sucesso | mensagem de confirmação, retorno à lista de cargas | “Alterado para reentrega!” |
| Falha do servidor ao registrar reentrega | mensagem de erro | “Falha na reentrega: $message” |
| Reagendamento registrado com sucesso | mensagem de confirmação, retorno à lista de cargas | “Alterado para reagendamento!” |
| Falha do servidor ao reagendar | mensagem de erro | “Falha no Reagendamento: $message” |
| Cancelamento registrado com sucesso | mensagem de confirmação, retorno à lista de cargas | “Alterado para Entrega Cancelada!” |
| Falha do servidor ao cancelar | mensagem de erro | “Falha no Cancelamento: $message” |
| Nenhum produto cadastrado na carga | mensagem no lugar da lista de produtos | “Nenhum produto encontrado!” |
Feedbacks de Localização e Validação de Proximidade
| Situação | Feedback | Texto exato |
|---|---|---|
| Motorista fora da área permitida ao redor do endereço de entrega | mensagem de erro | “Você está a $currentDistance m do local de entrega. É necessário estar a até $radius m para continuar.” |
| Permissão de localização negada no aparelho | mensagem de erro | “Permissão de localização negada. Ative o acesso à localização para continuar.” |
| Falha ao obter a localização atual do motorista | mensagem de erro | “Não foi possível obter sua localização atual.” |
| Entrega sem endereço do cliente completo para validar a proximidade | mensagem de erro | “Não foi possível validar a localização da entrega.” |
Regras de Negócio
Bloqueio por Entrega em Andamento
Antes de iniciar uma entrega, o aplicativo verifica se já existe, entre as entregas da carga, alguma com status “em andamento”. Havendo uma, a operação é bloqueada e a mensagem de bloqueio cita o número da nota fiscal dessa entrega em andamento.
Envio de Evidências antes de Qualquer Ação sobre a Entrega
Toda ação que muda o status de uma entrega (iniciar, reentregar, finalizar, cancelar, reagendar) primeiro tenta enviar ao servidor as evidências registradas enquanto o aparelho estava sem conexão. Se esse envio falhar, a ação inteira é cancelada e nenhuma mudança de status é aplicada.
Reentrega Desfaz o Check-in Já Registrado
Ao marcar uma entrega para reentrega, o check-in já registrado anteriormente para ela é desfeito, permitindo um novo check-in quando o motorista retomar essa entrega.
Significado dos Status de Entrega
“Aguardando”: a entrega ainda não foi iniciada, ou foi reenviada/reagendada para uma nova tentativa. “Em andamento”: o motorista iniciou a entrega e ainda não a concluiu, cancelou ou marcou como não entregue. “Finalizada”: a entrega foi concluída com sucesso. “Falhou”: a entrega não pôde ser concluída, com o motivo registrado. “Cancelada”: a entrega foi cancelada pelo motorista.
Validação de Proximidade para Check-in e Finalização
Quando a entrega exige confirmação de proximidade, o aplicativo compara a posição atual do motorista com o endereço do cliente e a distância máxima permitida (em metros) cadastrada para ele. O motorista é considerado dentro da área permitida quando está a uma distância igual ou menor que esse limite; caso contrário, a ação é bloqueada.
Formato de Exibição do Preço e da Quantidade dos Produtos
Cada produto é exibido com a quantidade seguida da unidade de medida, um traço, o volume da carga e a palavra “Volume”. O valor do produto é formatado como moeda brasileira, com o símbolo “R$”.
Formato de Exibição da Janela de Horário de Descarregamento
As janelas de horário do dia atual da semana são exibidas no formato “HH:MMh às HH:MMh”. Quando há mais de uma janela no dia, elas são unidas por vírgula, e a última é unida pela palavra “e”. O título da seção aparece no singular (“Horário de Descarregamento”) quando há apenas uma janela, e no plural (“Horários de Descarregamento”) quando há mais de uma.
Após uma Ação, os Dados Atualizados Aparecem ao Reabrir a Tela
Depois de iniciar, concluir, reagendar, cancelar ou reenviar uma entrega, os dados atualizados dela aparecem novamente somente quando o motorista reabre a lista de cargas ou o Detalhe da Carga.
Comportamento Offline e Dados Locais
O aplicativo mantém os dados da carga e das entregas guardados no próprio aparelho, permitindo consultar produtos e horários de descarregamento, e realizar ações sobre a entrega mesmo sem conexão com a internet no momento. Uma mudança de status de entrega fica registrada primeiro no aparelho; o envio ao servidor acontece em seguida. Se esse envio falhar, a mudança de status é desfeita no aparelho e a ação correspondente é reportada como falha ao motorista.
Evidências e Documentos Gerados
Antes de solicitar uma nova comprovação de entrega — assinatura digital, selfie de conferência ou foto do canhoto físico —, o aplicativo verifica se aquele tipo de comprovação já foi capturado e salvo para a entrega, e só considera essa evidência válida se o arquivo correspondente ainda existir no aparelho; havendo uma evidência salva e válida, o aplicativo abre a visualização dela em vez de uma nova tela de captura.
As três comprovações são geradas pelo próprio motorista, no aparelho: a assinatura digital do recebedor (que pode ser precedida de um formulário com nome e CPF/CNPJ do recebedor, conforme a configuração da entrega), a selfie de conferência e a foto do canhoto físico. Quando a entrega não exige nenhuma dessas comprovações, nenhum documento adicional é gerado e a entrega é concluída diretamente.
Geolocalização e Rastreamento
A proximidade do motorista é validada em dois momentos possíveis, cada um somente quando a entrega exigir essa confirmação: ao navegar para a tela de Check-in, e ao finalizar a entrega. Ao navegar para a tela de Não Entrega, a validação de proximidade nunca é realizada, mesmo que a entrega a exija para o check-in.
Troubleshooting
Não consigo iniciar uma nova entrega
Cenário: o motorista tenta iniciar uma entrega enquanto outra entrega da mesma carga já está em andamento.
Mensagem exibida: “Entrega $number em andamento. Finalize-a antes de iniciar outra.” (onde $number é o número da nota fiscal da entrega em andamento)
O que fazer: finalizar, cancelar ou reagendar a entrega em andamento antes de iniciar a próxima.
Ação sobre a entrega não é concluída e aparece “Falha na sincronização”
Cenário: o motorista toca em Iniciar Entrega, Finalizar Entrega, Reentrega, Cancelar ou Reagendar, mas o aparelho não consegue enviar ao servidor evidências registradas anteriormente sem conexão.
Mensagem exibida: “Falha na sincronização”
O que fazer: verificar a conexão do aparelho com a internet e tentar novamente; se persistir, verificar se há evidências pendentes de envio na tela de Evidências.
Servidor recusa o início da entrega
Cenário: o motorista toca em Iniciar Entrega, as evidências pendentes são enviadas com sucesso, mas o servidor recusa a mudança de status.
Mensagem exibida: o texto de erro devolvido pelo servidor no momento da tentativa, que varia conforme o motivo da recusa.
O que fazer: anotar a mensagem exibida e contatar o suporte caso a tentativa se repita.
Falha ao finalizar a entrega
Cenário: o motorista conclui a coleta de dados de recebimento (quando exigida) e toca em Finalizar Entrega, mas o servidor recusa a mudança de status.
Mensagem exibida: “Falha na finalização. $message” (onde $message é o motivo retornado pelo servidor)
O que fazer: anotar a mensagem exibida e tentar novamente; se persistir, contatar o suporte.
Falha ao registrar reentrega
Cenário: o motorista toca em Reentrega, mas o servidor recusa a mudança de status.
Mensagem exibida: “Falha na reentrega: $message”
O que fazer: anotar a mensagem exibida e tentar novamente; se persistir, contatar o suporte.
Falha ao reagendar a entrega
Cenário: o motorista toca em Reagendar, mas o servidor recusa a mudança de status.
Mensagem exibida: “Falha no Reagendamento: $message”
O que fazer: anotar a mensagem exibida e tentar novamente; se persistir, contatar o suporte.
Falha ao cancelar a entrega
Cenário: o motorista toca em Cancelar, mas o servidor recusa a mudança de status.
Mensagem exibida: “Falha no Cancelamento: $message”
O que fazer: anotar a mensagem exibida e tentar novamente; se persistir, contatar o suporte.
Finalização bloqueada por estar fora da área permitida
Cenário: a entrega exige confirmação de proximidade, e o motorista tenta finalizar estando fora da distância máxima permitida para o endereço do cliente.
Mensagem exibida: “Você está a $currentDistance m do local de entrega. É necessário estar a até $radius m para continuar.”
O que fazer: se aproximar do endereço de entrega, dentro da distância indicada, e tentar novamente.
Permissão de localização negada ao validar proximidade
Cenário: a entrega exige confirmação de proximidade (para check-in ou finalização), mas o aparelho não tem permissão de localização concedida ao aplicativo.
Mensagem exibida: “Permissão de localização negada. Ative o acesso à localização para continuar.”
O que fazer: conceder a permissão de localização ao aplicativo nas configurações do aparelho e tentar novamente.
Não foi possível obter a localização atual ao validar proximidade
Cenário: a entrega exige confirmação de proximidade, a permissão de localização está concedida, mas o aparelho não conseguiu obter a posição atual a tempo.
Mensagem exibida: “Não foi possível obter sua localização atual.”
O que fazer: verificar se o GPS do aparelho está ativado, se possível ao ar livre, e tentar novamente.
Dados insuficientes para validar a localização da entrega
Cenário: a entrega exige confirmação de proximidade, mas o endereço do cliente não está completamente cadastrado para permitir essa validação.
Mensagem exibida: “Não foi possível validar a localização da entrega.”
O que fazer: contatar o suporte para verificar o cadastro do endereço do cliente dessa entrega.
A tela trava ao tentar ir para Check-in ou Não Entrega, sem nenhuma mensagem
Cenário: o motorista toca em Check-in ou em Não Entrega, e a tela permanece indicando carregamento indefinidamente, sem avançar e sem exibir erro.
Mensagem exibida: Nenhuma — a tela permanece no estado de carregamento.
O que fazer: fechar e reabrir a tela de Detalhe da Carga e tentar novamente; se persistir, contatar o suporte.
Nenhum produto aparece na lista da carga
Cenário: o motorista abre o Detalhe da Carga e a carga não tem nenhum produto cadastrado.
Mensagem exibida: “Nenhum produto encontrado!”
O que fazer: contatar o suporte para verificar o cadastro dos produtos dessa carga, caso o esperado fosse haver produtos.
Casos de Uso
Caso 1 — Entrega concluída com sucesso, com assinatura digital do recebedor
O motorista abre o Detalhe da Carga de uma entrega “aguardando”, com 3 produtos e uma janela de descarregamento das 08:00h às 12:00h. Toca em “Iniciar Entrega”: as evidências pendentes são enviadas, o status muda para “em andamento” e o aplicativo retorna à lista de cargas com “Entrega iniciada!”. O motorista volta ao Detalhe da Carga, faz o check-in no cliente (com validação de proximidade aprovada) e, ao concluir a entrega, toca em “Finalizar Entrega”. A proximidade é validada novamente e aprovada; como a entrega exige comprovação e permite coletar dados do recebedor e assinatura, e não há assinatura salva ainda, o aplicativo abre o formulário de dados do recebedor seguido da tela de assinatura. Assinatura coletada, a entrega é concluída e o aplicativo retorna à lista de cargas com “Entrega finalizada!”.
Caso 2 — Reagendamento por ausência do destinatário
Com a entrega “em andamento” e sem condições de concluir a entrega no momento, o motorista toca em “Reagendar” (disponível porque a entrega permite reagendamento). As evidências pendentes são enviadas com sucesso, o status muda para “aguardando”, e o aplicativo retorna à lista de cargas com “Alterado para reagendamento!”.
Caso 3 — Entrega finalizada sem coleta de nenhuma evidência
O motorista finaliza uma entrega cuja configuração não exige comprovação de recebimento. Ao tocar em “Finalizar Entrega” e a proximidade ser validada (ou não exigida), o aplicativo não faz a pergunta sobre coleta de dados e conclui a entrega diretamente, retornando à lista de cargas com “Entrega finalizada!”.
Caso 4 — Tentativa de iniciar uma segunda entrega com outra já em andamento
O motorista já iniciou a entrega de número de nota fiscal 12345 e, sem finalizá-la, volta à lista de cargas e abre o Detalhe de outra entrega “aguardando”, tocando em “Iniciar Entrega”. O aplicativo identifica que a entrega 12345 está em andamento e bloqueia a operação, exibindo “Entrega 12345 em andamento. Finalize-a antes de iniciar outra.”