DeliveryArea (Area de Entrega)
O DeliveryArea representa uma regiao geografica atendida pelo servico de entregas.
Descricao
Areas de entrega definem as regioes onde o petshop realiza entregas, com configuracoes especificas de taxa, prazo e disponibilidade para cada area.
Dados
Identificacao
| Campo | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
| name | Texto | Sim | Nome da area |
| code | Texto | Nao | Codigo interno |
| active | Booleano | Sim | Se esta ativa |
Cobertura Geografica
| Campo | Tipo | Descricao |
|---|---|---|
| zip_codes | Array | Lista de CEPs atendidos |
| zip_code_ranges | Array | Faixas de CEP (inicio-fim) |
| neighborhoods | Array | Bairros atendidos |
| cities | Array | Cidades atendidas |
| states | Array | Estados atendidos |
| polygon | GeoJSON | Poligono geografico |
| radius_km | Decimal | Raio em km (a partir da loja) |
Configuracoes de Entrega
| Campo | Tipo | Descricao |
|---|---|---|
| delivery_fee | Monetario | Taxa de entrega |
| free_above | Monetario | Gratis acima deste valor |
| min_order_value | Monetario | Pedido minimo |
| delivery_time | Texto | Prazo de entrega (ex: "1-2 dias") |
| delivery_days | Array | Dias de entrega (0=dom, 1=seg...) |
Relacionamentos
Pertence a
| Entidade | Obrigatorio | Descricao |
|---|---|---|
| Account | Sim | Conta do petshop |
| Store | Sim | Filial |
Possui
| Entidade | Descricao |
|---|---|
| Deliveries | Entregas nesta area |
Tipos de Cobertura
Por CEP
Lista de CEPs especificos:
CEPs: 80010-000, 80020-000, 80030-000
Por Faixa de CEP
Intervalos de CEP:
Faixa 1: 80000-000 a 80099-999
Faixa 2: 80100-000 a 80199-999
Por Bairro
Lista de bairros:
Bairros: Centro, Batel, Agua Verde, Bigorrilho
Por Cidade
Lista de cidades:
Cidades: Curitiba, Sao Jose dos Pinhais, Colombo
Por Raio
Distancia a partir da loja:
Raio: 10 km a partir da loja
Por Poligono
Area geografica definida por coordenadas:
{
"type": "Polygon",
"coordinates": [
[
[-49.2733, -25.4284],
[-49.2500, -25.4284],
[-49.2500, -25.4500],
[-49.2733, -25.4500],
[-49.2733, -25.4284]
]
]
}
Verificacao de Cobertura
Fluxo
Prioridade
Quando multiplas areas atendem o mesmo endereco:
- Area mais especifica (CEP exato)
- Area com menor taxa
- Area cadastrada primeiro
Calculo de Taxa
Taxa Fixa
Taxa = delivery_fee da area
Taxa por Distancia
Taxa = taxa_base + (distancia_km * valor_por_km)
Frete Gratis
Se valor_pedido >= free_above:
Taxa = 0
Exemplo
Area: Centro
Taxa: R$ 8,00
Gratis acima de: R$ 150,00
Pedido R$ 80,00 -> Taxa R$ 8,00
Pedido R$ 200,00 -> Taxa R$ 0,00
Dias de Entrega
Configuracao
| Dia | Codigo |
|---|---|
| Domingo | 0 |
| Segunda | 1 |
| Terca | 2 |
| Quarta | 3 |
| Quinta | 4 |
| Sexta | 5 |
| Sabado | 6 |
Exemplo
Area: Zona Sul
Dias de entrega: [1, 3, 5] (Seg, Qua, Sex)
Calculo de Data Prevista
Se pedido feito em dia sem entrega, calcula proximo dia disponivel.
Horarios de Entrega
DeliverySlot
Horarios disponiveis por area:
| Campo | Tipo | Descricao |
|---|---|---|
| start_time | Hora | Inicio do slot |
| end_time | Hora | Fim do slot |
| max_deliveries | Numero | Maximo de entregas no slot |
| days | Array | Dias disponiveis |
Exemplo
Slots da Area Centro:
- 08:00 - 12:00 (max 10 entregas)
- 14:00 - 18:00 (max 10 entregas)
- 18:00 - 21:00 (max 5 entregas)
Restricoes
Pedido Minimo
Se valor_pedido < min_order_value:
Nao permite entrega nesta area
Peso/Volume Maximo
| Campo | Descricao |
|---|---|
| max_weight | Peso maximo (kg) |
| max_volume | Volume maximo (m3) |
Produtos Restritos
Alguns produtos podem nao ser entregues em certas areas:
- Produtos refrigerados
- Produtos pereciveis
- Produtos de grande porte
Integracao com Checkout
No Checkout
- Cliente informa endereco
- Sistema busca areas que atendem
- Exibe taxa e prazo
- Cliente confirma
Mensagens
| Situacao | Mensagem |
|---|---|
| Atendido | "Entrega disponivel - R$ X,XX" |
| Gratis | "Frete gratis!" |
| Nao atendido | "Endereco fora da area de entrega" |
| Pedido minimo | "Pedido minimo de R$ X,XX para entrega" |
Mapa de Cobertura
Visualizacao
O sistema pode exibir mapa com:
- Areas cobertas (coloridas)
- Localizacao das lojas
- Raio de atendimento
Validacoes
| Campo | Regra |
|---|---|
| name | Obrigatorio |
| cobertura | Minimo 1 criterio (CEP, bairro, etc) |
| delivery_fee | Maior ou igual a zero |
Regras de Negocio
Area Padrao
Se nenhuma area especifica atende:
- Usar area padrao (se existir)
- Ou informar que nao entrega
Sobreposicao
Areas podem se sobrepor:
- Sistema usa a mais especifica
- Ou a com menor taxa (configuravel)
Desativacao
Ao desativar area:
- Entregas pendentes continuam
- Novas entregas nao sao aceitas
Relatorios
| Relatorio | Descricao |
|---|---|
| Entregas por area | Volume de entregas |
| Taxa media | Taxa media cobrada |
| Cobertura | % de pedidos atendidos |
Permissoes
| Acao | Descricao |
|---|---|
| Criar | Criar area de entrega |
| Editar | Alterar configuracoes |
| Ativar/Desativar | Mudar status |
| Ver mapa | Visualizar cobertura |