Como criar e configurar calendários na Unefesta.
O formulário de criação (Calendários → Criar Novo Calendário) é uma única tela com seções. Não há wizard de páginas — preencha na ordem abaixo e clique em Criar calendário.
Passo a passo (todas as seções)
1. Identificação
- Nome — ex.: “Agenda Ana — Buffet”, “Encomendas confeitaria”
- Cor — ajuda a identificar na lista
- Fuso horário padrão — obrigatório (ex.:
America/Sao_Paulo)
2. Antecedência mínima
- Permitir reservar após X + Unidade (
Horas/Dias) - Tempo mínimo entre “agora” e a primeira data/hora reservável
- Em encomendas, combina com produção + frete — vale o maior prazo (produção usa dias de expediente do calendário; frete usa seg–sex)
3. Estilo do calendário
Escolha o modo (cards na tela):
| Opção na tela | Ideia |
|---|---|
| Carrinho exclusivo (padrão) | 1 opção ocupa o período no carrinho; capacidade entre pedidos = máximo (padrão 1) |
| Carrinho compartilhado | Itens do mesmo pedido = 1 vaga |
Checkbox equivalente: Permitir vários itens do mesmo pedido no mesmo período.
⚠️ Só vale para produtos/serviços com calendário habilitado e sem estoque. Com estoque, a disponibilidade continua independente por produto. Kits não selecionam calendário — herdam o comportamento dos componentes.
Em ambos os estilos aparecem:
- Quem define a data
- Cliente escolhe a data na grade — grade após o frete (quando houver)
- Sistema agenda a primeira data disponível (você pode alterar depois) — realoque em Pedidos
- Máximo de pedidos diferentes por período
- Exclusivo e compartilhado: vazio = ilimitado; padrão ao criar/desligar shared = 1
- Exclusivo com vazio ou > 1: confirmação ao salvar
- Compartilhado: valores > 1 permitem vários clientes no mesmo período
Há botão Como funciona? e Prévia (simulação) nesta seção — a demo de vagas por dia vale para exclusivo e compartilhado.
Detalhes: Encomendas e disponibilidade.
Ops do vendedor: as filas (Agenda de Encomendas, Agenda de Serviços, Separação, Despacho) seguem o tipo do item (sale / service / rent), não esta opção do calendário.
4. Geração de horários disponíveis
- Início flexível — horários de hora em hora, com sobreposição
- Início sequencial — um evento após o outro, sem sobreposição
A tela mostra exemplos com duração de 2 h. Detalhes: Flexível vs Sequencial.
5. Horários de funcionamento
- Faixas de atendimento: Início / Fim + dias da semana (Dom…Sáb)
- É obrigatório marcar ao menos um dia em alguma faixa (senão a grade não abre)
- Dia inteiro: início 00:00 e fim 23:59
- Resumo na tela: Aberto: / fechados
- Evite faixas sobrepostas no mesmo dia (o formulário valida)
- Fechamos em feriados — feriados nacionais e extras ficam indisponíveis (como fora do expediente) e não contam na produção
Com calendário no produto, esses dias também entram na conta do prazo de produção.
6. Reservas com duração em dias
- Permitir reserva com dias bloqueados no meio
- Só faz sentido com duração em dias: o período pode atravessar domingo/dia fechado no meio; o primeiro e o último dia precisam estar livres
7. Feriados extras
- Datas adicionais fechadas (data + nome opcional)
- Com Fechamos em feriados ativo, nacionais e estas datas ficam indisponíveis
- Feriados nacionais são reconhecidos automaticamente — não precisa cadastrá-los aqui
Detalhes: Bloqueio semanal e feriados.
8. Produtos / Serviços vinculados (opcional)
Na criação/edição: seção Produtos / Serviços vinculados.
- Lista produtos/serviços da loja; filtro Apenas com calendário habilitado
- Vincular adiciona este calendário aos já ligados no item — não substitui
- Itens sem calendário habilitado passam a ter calendário habilitado ao vincular
- Mostra se controla estoque e quais calendários já estão ligados
- Kits não se vinculam aqui: herdam os calendários dos componentes (texto na própria tela)
Ao criar calendário pelo modal dentro do formulário do produto, esta seção fica oculta (o produto já recebe o vínculo).
Clique em Criar calendário para salvar.
Depois de criar: ligar no produto/serviço
Duração, dias bloqueados e “Habilitar calendário” ficam no produto/serviço, não no calendário.
- Acesse o produto/serviço
- Marque Habilitar calendário
- Selecione o(s) calendário(s) (ou use Criar Novo Calendário no próprio formulário)
- Configure Duração (fixa ou mín/máx; horas ou dias)
- Opcional: Dias da semana bloqueados / Exceto feriados
- Defina se usa estoque (muda o impacto das reservas — ver Guia de configuração)
- Salve
Kits
Kits não têm seletor de calendário. calendarEnabled (e estoque) são derivados da composição: se algum componente tiver calendário habilitado, o kit também. A disponibilidade do kit exige que todos os componentes estejam disponíveis no mesmo período. Veja Estoque e disponibilidade.
Excluindo um calendário
Você pode excluir (soft delete) um calendário da listagem:
- Na tela de calendários, clique em Excluir no card do calendário desejado
- Confirme a ação no modal
O que acontece ao excluir
- O calendário sai da listagem e não pode mais ser editado
- Todos os produtos/serviços vinculados são desvinculados automaticamente
- Kits não precisam “desvincular”: nunca tiveram calendário próprio
- Os dados do calendário (eventos, histórico) são preservados internamente
- A ação não apaga o calendário do banco de dados
Restrições
- ⚠️ Calendários sincronizados com o Google Agenda não podem ser excluídos. Você precisa cancelar a sincronização antes de excluir.
- Apenas o proprietário do calendário pode excluí-lo (calendários compartilhados não exibem o botão).
Depois de criar
- Revise se o estilo (exclusivo vs pedido compartilhado) combina com o negócio (e com o tipo sale/service/rent)
- Teste na vitrine: frete → data / "a partir de…"
- Em encomenda "sistema agenda", confira a realocação em Pedidos
- Em kits, configure calendário/duração nos componentes, não no kit
