Experiências - Editar Experiência
O que é
O formulário Editar Experiência é o ponto único para alterar qualquer aspecto de uma experiência turística já cadastrada: dados básicos, mídia, localização, política de cobrança, horários recorrentes, extras opcionais, temporadas sazonais e SEO. Tudo fica organizado em oito abas com deep-link via hash da URL (#dados, #midia, #local, #categorias, #horarios, #extras, #temporadas, #seo), o que permite enviar um link direto para uma seção específica.
Você normalmente chega aqui depois de criar a experiência (que abre direto no editor com ?_action=save_and_continue), depois de duplicar uma experiência existente, ou ao clicar em Editar no card da lista em /admin/passeios. Esta é também a única tela onde a galeria de fotos é gerenciada, já que ela depende de o passeio já estar salvo.
Como usar
- Vá em Módulos > Passeios / Experiências no sidebar e clique em Editar no card da experiência desejada. A URL é
/admin/passeios/{passeio}/edit. - Navegue entre as oito abas no topo do formulário. A aba ativa fica destacada em teal. Toda mudança de aba atualiza o hash da URL, permitindo compartilhar o link já aberto na seção certa.
- Aba Dados Gerais - ajuste Nome (obrigatório), Tipo (Passeio, Experiência, Aventura, Day Use), Descrição Curta, Descrição Completa, Duração (minutos), Dificuldade, Idade Mínima, blocos O que inclui, O que não inclui, O que levar e Requisitos.
- Ainda na aba Dados Gerais, no bloco Configurações (separador horizontal), ajuste Antecedência mínima (horas), Cancelamento até (horas antes) e % Reembolso. Use os toggles Ativo, Mostrar no site, Destaque e Permitir reagendamento. Selecione o Status (Rascunho, Publicado, Arquivado).
- Configure o card Exibição de Preços (override por passeio) escolhendo o Modo de exibição ("Usar padrão global", "A partir de" ou "Até") e a opção Intervalo de preços ("Usar padrão global", "Mostrar intervalo completo" ou "Não mostrar intervalo").
- Se aplicável, preencha o card Seguro Viagem com URL do seguro e Texto do botão para exibir um CTA externo no email de confirmação e na área do cliente.
- Aba Mídia - use o componente Imagem de Capa para enviar/trocar a imagem principal. Escolha um dos cinco cards de Modo de Exibição do Banner (Padrão do Site, Hero, Vitrine, Split ou Minimal). Adicione até cinco Vídeos do YouTube com preview embutido. A Galeria de Fotos (até 10 imagens JPG/PNG/WebP de até 10MB) suporta arrastar e soltar; cada upload é processado pelo
GaleriaImageServicee gera thumbnail. - Aba Localização - informe Local/Destino, Endereço, selecione o País e depois Estado / Província e Cidade (para Brasil, a cidade vem da API do IBGE; para outros países, ambos os campos são texto livre). Descreva o Ponto de Encontro e marque o pino no mapa Leaflet/OpenStreetMap (busque o endereço na barra acima ou clique direto no mapa; arraste o marcador para ajustar).
- Aba Categorias de Preço - escolha o Modo de Preço (Fixo, Sob consulta ou Híbrido) no card de seleção. Em seguida, gerencie as categorias com Adicionar Categoria: preencha Nome, Preço Custo, Preço Venda (todos obrigatórios) e Conta como (vagas). Opcionalmente vincule um Estoque (pool compartilhado entre horários sobrepostos) e defina quantas unidades cada venda consome do estoque. Para remover uma categoria existente, clique em Remover dentro do card dela.
- Aba Horários - use Adicionar Horário para criar regras de recorrência. Para cada horário escolha Tipo (Semanal, Diário ou Data Específica), Início (HH:MM, obrigatório), Fim (opcional) e Vagas (mínimo 1). Para tipo Semanal, marque os dias da semana (Dom a Sáb); para Data Específica, escolha a data no flatpickr. Ao salvar, o
PasseioServiceregenera as sessões futuras e sincroniza ovagas_totaldas sessões já existentes. - Aba Extras - adicione opcionais com Adicionar Extra: Nome, Preço (com máscara monetária) e tipo de Cobrança (Por pessoa, Por reserva ou Por unidade) são obrigatórios.
- Aba Temporadas - clique em Adicionar Temporada e preencha Nome, Data de Início, Data de Fim, Tipo de Ajuste (Percentual ou Valor Fixo), Valor do Ajuste (negativo para desconto) e Prioridade (1-100, maior = prevalece quando duas temporadas se sobrepõem). O bloco Preview mostra como ficaria um preço base de R$ 100,00 com o ajuste aplicado.
- Aba SEO - preencha manualmente Meta Title, Meta Description, Meta Keywords e Observações Internas (essas últimas não aparecem no site). Para gerar com IA, clique em Gerar com IA (botão violeta no topo): o sistema usa o
GeminiSeoServicea partir do nome, descrição curta, localização, cidade, estado, tipo e duração. - No rodapé, clique em Salvar Alterações para gravar tudo e voltar para a listagem. Use Salvar e continuar editando para gravar e permanecer no formulário (útil para revisar várias abas em sequência).
Casos especiais
Deep-link para uma aba específica
Adicione um hash à URL para abrir o formulário já em uma aba específica. Exemplo: /admin/passeios/123/edit#temporadas abre direto na aba Temporadas. Útil para suporte, treinamento e links em e-mails internos.
Editar passeio sob consulta
No card de modo de preço (aba Categorias), escolha Sob consulta. O cliente final passa a ver "Valor sob consulta" no site e o CTA muda para "Solicitar cotação". Mesmo assim, mantenha as categorias preenchidas - elas são usadas em orçamentos e em vendas feitas pelo admin.
No modo Híbrido, o site mostra a tabela de preços normal e oferece um botão secundário "Solicitar cotação personalizada" para atender grupos custom.
Trocar todos os horários sem perder vendas
Ao salvar a aba Horários, o sistema apaga horários removidos do array, atualiza os existentes (pelo id enviado) e cria os novos. Em seguida o PasseioService::gerarSessoes() regenera as sessões futuras e o sincronizarSessoesFuturas() ajusta o vagas_total das sessões já existentes para refletir o novo número de vagas. Vendas já feitas não são afetadas - apenas a disponibilidade futura.
Galeria de fotos só após salvar
Em modo de criação, a galeria mostra um aviso "Salve o cadastro primeiro para adicionar fotos à galeria". Só na tela de edição (passeio com id) os uploads ficam habilitados, com limite de 10 fotos por experiência. As fotos são enviadas via POST /admin/passeios/{passeio}/fotos, processadas com thumbnail automático, e podem ser reordenadas.
Override de exibição de preços
O card Exibição de Preços dentro da aba Dados Gerais permite sobrescrever a configuração global (em Configurações > Jornada do Cliente) só para este passeio. Deixar "Usar padrão global" mantém o comportamento configurado para você.
Internacionalização da localização
Selecionar um país diferente de Brasil troca o campo Estado / Província e Cidade para entrada de texto livre. Selecionar Brasil restaura o dropdown de UFs e o autocomplete de cidades via IBGE.
Gerar SEO com IA
Na aba SEO, o botão Gerar com IA chama POST /admin/passeios/gerar-seo-ia com os dados do formulário (nome, descrição curta, local, cidade, estado, tipo, duração). Se o nome estiver vazio, aparece o erro "Preencha o nome da experiência (aba Dados Gerais) antes de gerar o SEO." Se apenas o nome estiver presente, aparece um aviso amarelo recomendando completar descrição curta, localização e cidade para um resultado mais preciso.
Erros comuns e como resolver
- "Erro ao atualizar experiência: ..." - Causa: exceção genérica durante o
update()(banco, S3, lógica de regeneração de sessões). Solução: confira a mensagem após o ":" no toast vermelho, valide se todos os campos obrigatórios estão preenchidos (Nome na aba Dados Gerais; Nome, Preço Custo e Preço Venda em cada categoria; Início e Vagas em cada horário; Nome, Datas, Tipo de Ajuste e Valor em cada temporada) e tente novamente. O transaction faz rollback automático, então nada fica parcialmente salvo. - "Preencha o nome da experiência (aba Dados Gerais) antes de gerar o SEO." - Causa: clique em Gerar com IA sem o nome preenchido. Solução: volte à aba Dados Gerais, preencha o Nome e tente de novo.
- "Integração com IA não configurada." - Causa:
GeminiSeoServicedesabilitado (sem chave de API). Solução: preencha o SEO manualmente ou peça ao Proprietário para configurar a integração Gemini nas chaves de API da sua empresa. - "Limite máximo de 10 fotos atingido." - Causa: tentativa de subir a 11ª foto na galeria. Solução: remova fotos existentes antes de adicionar novas, ou substitua a menos relevante.
- Datas de temporada inválidas - Causa: validação
data_fim after_or_equal:data_inicio. Solução: garanta que a data final é igual ou posterior à inicial. - Vídeo do YouTube recusado - Causa: a URL não bate com o regex
youtube.com|youtu.be. Solução: cole um link no formatohttps://www.youtube.com/watch?v=...ouhttps://youtu.be/....
Onde encontrar
- URL:
/admin/passeios/{passeio}/edit - Caminho no menu: Módulos > Passeios / Experiências → botão Editar no card da experiência
- Permissão necessária: editar as experiências (a listagem exige ver as experiências)
- Módulo necessário: Passeios e Experiências (
passeios-experiencias)
Veja também
Experiências - Visão GeralCriar ExperiênciaDashboard ExperiênciasVendas de ExperiênciasConfigurações Experiências