{
  "id": "tipos-de-agendamento",
  "titulo": "Tipos de agendamento",
  "tela": "/app/settings/tenant/agenda",
  "resumo": "Onde você cadastra o que os clientes podem marcar: quanto dura, onde acontece, quem atende, o preço e o lembrete que vai pelo WhatsApp.",
  "licoes": [
    {
      "id": "conhecendo-a-tela",
      "titulo": "Conhecendo os tipos de agendamento",
      "objetivo": "Achar a tela pelas Configurações e entender o que cada linha da lista mostra.",
      "papel": "admin",
      "busca": [
        "tipos de agendamento",
        "serviços da agenda",
        "o que o cliente pode marcar",
        "duração da consulta",
        "cadastrar consulta",
        "configurar agenda"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Onde fica",
          "texto": "Abra \"Configurações\" no rodapé do menu da esquerda. No grupo \"Sua empresa\" está o cartão \"Tipos de agendamento\". Para seguir, clique nele.",
          "rota": "/app/settings",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "css": "a[href='/app/settings/tenant/agenda']"
              },
              "rotulo": "Tipos de agendamento",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "css": "a[href='/app/settings/tenant/agenda']"
          }
        },
        {
          "id": "p2",
          "titulo": "A lista do que se pode marcar",
          "texto": "A página abre com o título \"Agendamentos\", que é o nome da área e pode ser mudado nas regras gerais. Cada linha é uma coisa que a clínica atende: uma consulta, um procedimento, um retorno. É desta lista que saem as opções da tela de marcar horário e do agente de IA. O botão \"Novo tipo de agendamento\" cadastra mais um.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "css": "a[href='/app/settings/tenant/agenda']"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "lista-de-tipos"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "abrir-novo-tipo"
              },
              "rotulo": "Cadastrar um tipo novo",
              "tipo": "seta"
            },
            {
              "alvo": {
                "testid": "lista-de-tipos"
              },
              "rotulo": "Tudo o que se pode marcar",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "O que uma linha diz",
          "texto": "Na linha da \"Limpeza dental\" aparecem, nesta ordem: o nome, a categoria (\"Procedimento\"), a duração (\"40 min\") e onde acontece (\"Presencial\"). O trecho \"avisa o cliente\" mostra que este tipo manda lembrete pelo WhatsApp, e os números são minutos antes do horário: 1440 é um dia e 120 são duas horas. \"texto próprio\" quer dizer que a mensagem foi escrita pela clínica. À direita, \"Configurar Limpeza dental\" abre os horários próprios do serviço, \"Editar\" muda os dados do tipo e \"Desativar\" tira o tipo das opções.",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "testid": "tipo-be7a1100-0000-4000-8000-000000000001"
              },
              "rotulo": "Um tipo de agendamento",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "lembrete-ligado-be7a1100-0000-4000-8000-000000000001"
              },
              "rotulo": "Lembrete ligado",
              "tipo": "seta"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Os avisos em amarelo",
          "texto": "\"sem responsável — definir quem atende\" quer dizer que ninguém foi escolhido para atender aquele tipo. Sem isso, a agenda não tem horário nenhum para oferecer a esse tipo, nem na tela de marcar nem no agente de IA. Clicar no aviso abre o ajuste na hora. Um tipo com \"desativado\" fica apagadinho: some das opções de marcar, mas o histórico continua.",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "testid": "sem-dono-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Falta quem atende",
              "tipo": "seta"
            },
            {
              "alvo": {
                "testid": "tipo-be7a1100-0000-4000-8000-000000000005"
              },
              "rotulo": "Tipo desativado",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p5",
          "titulo": "Mais ajustes no fim da página",
          "texto": "Abaixo da lista ficam duas partes que abrem com um clique. \"Regras gerais da agenda\" reúne o nome da área da agenda, os prazos de confirmação de presença, quem mexe na agenda de quem e os dias fechados, e tem lição própria neste módulo. Para ver a outra, clique em \"Contas e calendários Google\".",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "texto": "Regras gerais da agenda",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Contas e calendários Google",
                "exato": true
              },
              "rotulo": "Agenda do Google",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "texto": "Regras gerais da agenda",
                "exato": true
              },
              "rotulo": "Regras da agenda",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "texto": "Contas e calendários Google",
            "exato": true
          }
        },
        {
          "id": "p6",
          "titulo": "Sua agenda do Google",
          "texto": "Aqui cada pessoa da equipe ajusta a própria conta do Google, depois de conectada: escolhe quais agendas ocupam os horários dela e em qual agenda os compromissos novos aparecem. Sem conta conectada, aparece só o link \"Conecte sua conta pela Agenda\", que leva à tela da Agenda, onde a conexão é feita. Se lá aparecer \"Sincronizar com o Google ainda não está disponível\", quem instalou o sistema ainda precisa cadastrar o Google; até lá, a agenda funciona normalmente, só não conversa com o Google.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "texto": "Contas e calendários Google",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "link",
                "nome": "Conecte sua conta pela Agenda",
                "exato": true
              }
            },
            {
              "acao": "rolar",
              "alvo": {
                "texto": "Regras gerais da agenda",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "region",
                "nome": "Suas agendas Google",
                "exato": true
              },
              "rotulo": "Suas agendas Google",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "link",
                "nome": "Conecte sua conta pela Agenda",
                "exato": true
              },
              "rotulo": "Conectar a conta",
              "tipo": "caixa"
            }
          ]
        }
      ]
    },
    {
      "id": "criar-um-tipo",
      "titulo": "Criar um tipo de agendamento",
      "objetivo": "Cadastrar um atendimento novo com nome, categoria, duração, local e quem atende.",
      "papel": "admin",
      "busca": [
        "criar tipo de agendamento",
        "novo serviço na agenda",
        "cadastrar retorno",
        "duração do atendimento",
        "quem atende a consulta",
        "adicionar procedimento"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Começar um tipo novo",
          "texto": "Vamos cadastrar o \"Retorno de fisioterapia\", uma volta rápida do paciente depois do tratamento. Clique em \"Novo tipo de agendamento\".",
          "rota": "/app/settings/tenant/agenda",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "testid": "abrir-novo-tipo"
              },
              "rotulo": "Novo tipo de agendamento",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "testid": "abrir-novo-tipo"
          }
        },
        {
          "id": "p2",
          "titulo": "O formulário",
          "texto": "Abre um formulário curto. \"Nome\" é o que o cliente e a equipe vão ler. \"Categoria\" agrupa o tipo (consulta, retorno, procedimento…). \"Duração (minutos)\" diz quanto tempo o horário ocupa na agenda. \"Onde acontece\" pode ser presencial, por telefone, WhatsApp, link de vídeo ou Google Meet; o Google Meet só gera o link com a agenda do Google conectada. \"Criar como serviço em rascunho\" é para quem vai montar horários próprios antes de abrir as reservas: o tipo nasce desativado e sem quem atende, e você o ajusta depois pelo botão \"Configurar\" da linha dele.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "abrir-novo-tipo"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "form-novo-tipo"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "form-novo-tipo"
              },
              "rotulo": "Dados do tipo novo",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "Preencher",
          "texto": "Escreva o nome, escolha a categoria \"Retorno\", a duração de 30 minutos e \"Presencial\". Em \"Quem atende\", escolha a pessoa da equipe que faz esse atendimento: aqui, a Ana Ribeiro. Na primeira vez, o campo já vem com o seu nome; confira sempre, porque se ele estiver em \"Definir depois\" o tipo fica sem horário para oferecer até alguém ser escolhido.",
          "antes": [
            {
              "acao": "fill",
              "alvo": {
                "testid": "novo-tipo-nome"
              },
              "valor": "Retorno de fisioterapia"
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "novo-tipo-categoria"
              },
              "opcao": "Retorno"
            },
            {
              "acao": "fill",
              "alvo": {
                "testid": "novo-tipo-duracao"
              },
              "valor": "30"
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "novo-tipo-local"
              },
              "opcao": "Presencial"
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "novo-tipo-dono"
              },
              "opcao": "Ana Ribeiro"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "novo-tipo-nome"
              },
              "rotulo": "Nome",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "novo-tipo-dono"
              },
              "rotulo": "Quem atende",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "salvar-novo-tipo"
              },
              "rotulo": "Criar tipo",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "testid": "salvar-novo-tipo"
          }
        },
        {
          "id": "p4",
          "titulo": "Pronto para marcar",
          "texto": "Ao clicar em \"Criar tipo\", o formulário fecha e o \"Retorno de fisioterapia\" entra na lista, já com a categoria, a duração e o local. Como a Ana atende, a agenda já oferece horários desse tipo dentro da jornada de trabalho dela. Não dá para criar dois tipos com o mesmo nome, nem se o outro estiver desativado: o sistema avisa que já existe. Nesse caso, reative o antigo.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "salvar-novo-tipo"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "css": "[data-testid^='tipo-']:has-text('Retorno de fisioterapia')"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "css": "[data-testid^='tipo-']:has-text('Retorno de fisioterapia')"
              },
              "rotulo": "Tipo criado",
              "tipo": "caixa"
            }
          ]
        }
      ]
    },
    {
      "id": "ajustar-um-tipo",
      "titulo": "Quem atende, preço e lembrete",
      "objetivo": "Editar um tipo: escolher quem atende, pôr um preço padrão e ligar os lembretes pelo WhatsApp.",
      "papel": "admin",
      "busca": [
        "editar tipo de agendamento",
        "lembrete de consulta whatsapp",
        "avisar cliente antes da consulta",
        "preço padrão do serviço",
        "sem responsável na agenda",
        "mudar duração"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Resolver o aviso amarelo",
          "texto": "A \"Avaliação odontológica\" está sem ninguém para atender, então nenhum horário dela aparece para marcar. Clique no aviso \"sem responsável — definir quem atende\". O botão \"Editar\" da linha abre o mesmo ajuste.",
          "rota": "/app/settings/tenant/agenda",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "testid": "sem-dono-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Clique no aviso",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "testid": "sem-dono-be7a1100-0000-4000-8000-000000000002"
          }
        },
        {
          "id": "p2",
          "titulo": "Quem atende e preço",
          "texto": "O ajuste abre logo abaixo da linha. Em \"Quem atende\", escolha o Carlos Mendes. \"Preço padrão\" é opcional: ele vira o valor sugerido na comanda e pode ser mudado lá. Aqui também dá para trocar o nome e a duração. Enquanto o ajuste está aberto, o botão \"Editar\" da linha vira \"Fechar\", que recolhe o ajuste.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "sem-dono-be7a1100-0000-4000-8000-000000000002"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "form-editar-be7a1100-0000-4000-8000-000000000002"
              }
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "editar-dono-be7a1100-0000-4000-8000-000000000002"
              },
              "opcao": "Carlos Mendes"
            },
            {
              "acao": "fill",
              "alvo": {
                "testid": "editar-preco-be7a1100-0000-4000-8000-000000000002"
              },
              "valor": "120,00"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "editar-dono-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Quem atende",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "editar-preco-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Preço padrão",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "Ligar o lembrete",
          "texto": "Marque \"Avisar o cliente antes do compromisso, pelo WhatsApp\". Escolha quanto antes (aqui, 1 dia) e escreva a mensagem. As palavras entre chaves, como {{nome}} e {{hora}}, são trocadas pelos dados de cada cliente na hora do envio. Mensagem em branco usa o texto padrão do sistema. O lembrete só sai se a clínica tiver um número de WhatsApp conectado e funcionando.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "editar-lembrete-be7a1100-0000-4000-8000-000000000002"
              }
            },
            {
              "acao": "fill",
              "alvo": {
                "testid": "editar-lembrete-minutos-be7a1100-0000-4000-8000-000000000002"
              },
              "valor": "1"
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "editar-lembrete-unidade-be7a1100-0000-4000-8000-000000000002"
              },
              "opcao": "dias"
            },
            {
              "acao": "fill",
              "alvo": {
                "testid": "editar-lembrete-texto-be7a1100-0000-4000-8000-000000000002"
              },
              "valor": "Oi {{nome}}! Lembrando da sua avaliação odontológica {{dia}} às {{hora}}, na Clínica Bem Viver."
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "editar-lembrete-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Ligar o lembrete",
              "tipo": "seta"
            },
            {
              "alvo": {
                "testid": "editar-lembrete-texto-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Mensagem do lembrete",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Mais de um lembrete",
          "texto": "\"Adicionar lembrete\" cria outro aviso, com antecedência e mensagem próprias: por exemplo, um no dia anterior e outro duas horas antes. Com mais de um, aparece \"Remover\" para tirar um deles. Em \"Canal para enviar os lembretes\", o padrão \"Automático\" usa o número da conversa da reserva ou, se a clínica tiver um número só, esse número. Se a clínica tiver mais de um número, escolha qual envia: no automático, uma reserva que não veio de conversa fica sem lembrete e a equipe recebe um aviso. Clique em \"Salvar\" para gravar tudo.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "editar-lembrete-adicionar-be7a1100-0000-4000-8000-000000000002"
              }
            },
            {
              "acao": "fill",
              "alvo": {
                "testid": "editar-lembrete-minutos-be7a1100-0000-4000-8000-000000000002-1"
              },
              "valor": "2"
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "editar-lembrete-unidade-be7a1100-0000-4000-8000-000000000002-1"
              },
              "opcao": "horas"
            },
            {
              "acao": "fill",
              "alvo": {
                "testid": "editar-lembrete-texto-be7a1100-0000-4000-8000-000000000002-1"
              },
              "valor": "{{nome}}, sua avaliação é hoje às {{hora}}. Estamos na {{endereco}}."
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "editar-lembrete-texto-be7a1100-0000-4000-8000-000000000002-1"
              },
              "rotulo": "Segundo lembrete",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "salvar-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Salvar",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "testid": "salvar-be7a1100-0000-4000-8000-000000000002"
          }
        },
        {
          "id": "p5",
          "titulo": "O resultado na lista",
          "texto": "O ajuste fecha e a linha mostra o novo estado: o aviso amarelo sumiu, porque agora o Carlos atende, e aparece \"avisa o cliente\" com as antecedências em minutos (1440 é um dia, 120 são duas horas). O lembrete só sai para horários deste tipo que estejam confirmados e tenham um contato cadastrado.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "salvar-be7a1100-0000-4000-8000-000000000002"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "lembrete-ligado-be7a1100-0000-4000-8000-000000000002"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "tipo-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Tipo ajustado",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "lembrete-ligado-be7a1100-0000-4000-8000-000000000002"
              },
              "rotulo": "Lembretes ligados",
              "tipo": "seta"
            }
          ]
        }
      ]
    },
    {
      "id": "desativar-e-reativar",
      "titulo": "Desativar e reativar um tipo",
      "objetivo": "Tirar um atendimento das opções de marcar sem perder o histórico, e trazê-lo de volta.",
      "papel": "admin",
      "busca": [
        "desativar tipo de agendamento",
        "parar de oferecer serviço",
        "apagar tipo de consulta",
        "reativar serviço na agenda",
        "tirar opção de marcar"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Desativar",
          "texto": "A clínica parou de oferecer a orientação nutricional por vídeo. Tipo de agendamento não se apaga, se desativa: assim o histórico fica guardado. Clique em \"Desativar\" na linha dela.",
          "rota": "/app/settings/tenant/agenda",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "testid": "desativar-be7a1100-0000-4000-8000-000000000004"
              },
              "rotulo": "Desativar",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "testid": "desativar-be7a1100-0000-4000-8000-000000000004"
          }
        },
        {
          "id": "p2",
          "titulo": "Desativado, não apagado",
          "texto": "A linha fica apagadinha, ganha a palavra \"desativado\" e vai para o fim da lista. O tipo some das opções de marcar horário. Os atendimentos já feitos continuam guardados com o nome certo, e os horários que já estavam marcados continuam marcados: desativar não cancela nada. O botão \"Desativar\" vira \"Reativar\".",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "desativar-be7a1100-0000-4000-8000-000000000004"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "reativar-be7a1100-0000-4000-8000-000000000004"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "tipo-be7a1100-0000-4000-8000-000000000004"
              },
              "rotulo": "Tipo desativado",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "testid": "reativar-be7a1100-0000-4000-8000-000000000004"
              },
              "rotulo": "Reativar",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "testid": "reativar-be7a1100-0000-4000-8000-000000000004"
          }
        },
        {
          "id": "p3",
          "titulo": "De volta à lista",
          "texto": "Clicando em \"Reativar\", o tipo volta para a lista normal, com a mesma configuração de antes, e passa de novo a aparecer para marcar.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "testid": "reativar-be7a1100-0000-4000-8000-000000000004"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "desativar-be7a1100-0000-4000-8000-000000000004"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "tipo-be7a1100-0000-4000-8000-000000000004"
              },
              "rotulo": "Ativo de novo",
              "tipo": "caixa"
            }
          ]
        }
      ]
    },
    {
      "id": "servico-com-horarios",
      "titulo": "Aula em grupo com horário fixo",
      "objetivo": "Transformar um tipo em serviço com horários próprios e vagas, como uma turma de pilates.",
      "papel": "admin",
      "busca": [
        "aula em grupo com vagas",
        "turma com capacidade",
        "horário fixo da aula",
        "configurar serviço na agenda",
        "limite de pessoas por horário",
        "pilates em grupo"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Abrir a configuração do serviço",
          "texto": "Alguns atendimentos têm horário fixo e várias pessoas ao mesmo tempo, como o pilates em grupo. Para isso existe o botão \"Configurar\" seguido do nome do tipo, à direita de cada linha. Clique em \"Configurar Pilates em grupo\".",
          "rota": "/app/settings/tenant/agenda",
          "antes": [],
          "destaques": [
            {
              "alvo": {
                "role": "button",
                "nome": "Configurar Pilates em grupo",
                "exato": true
              },
              "rotulo": "Configurar",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Configurar Pilates em grupo",
            "exato": true
          }
        },
        {
          "id": "p2",
          "titulo": "As quatro abas",
          "texto": "A configuração abre no alto da página, com quatro abas: \"Serviço\" (como se reserva), \"Horários\" (quando acontece), \"Google\" (publicar num calendário do Google, se a agenda do Google estiver conectada) e \"Bloqueios\" (impedir reservas num período). Mudar isto vale para as reservas novas; as que já existem ficam como estão. \"Exigir confirmação humana\" segura a vaga até alguém da equipe confirmar. No topo, \"Nome e duração\" volta aos dados do tipo e \"Fechar\" recolhe esta configuração.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Configurar Pilates em grupo",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "testid": "service-configuration"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "tablist",
                "nome": "Configuração do serviço"
              },
              "rotulo": "As quatro abas",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "checkbox",
                "nome": "Usar programação de serviço"
              },
              "rotulo": "Liga os horários próprios",
              "tipo": "seta"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "Turma com vagas",
          "texto": "Marque \"Usar programação de serviço\". Em \"Como reservar\", escolha \"Coletivo com capacidade\" e diga em \"Capacidade padrão\" quantas pessoas cabem na turma: aqui, 6. \"Individual por profissional\" é para atendimento de uma pessoa por vez; nesse caso, escolha também os profissionais em \"Opções adicionais\". \"Coletivo sem limite automático\" não conta vagas. \"Ativar reservas deste serviço\" já vem marcado; desmarcado, o serviço fica em rascunho, sem receber reservas. Para salvar com as reservas ativas, é preciso ter pelo menos um horário, que é o próximo passo.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "checkbox",
                "nome": "Usar programação de serviço"
              }
            },
            {
              "acao": "selecionar",
              "alvo": {
                "role": "combobox",
                "nome": "Como reservar"
              },
              "opcao": "Coletivo com capacidade"
            },
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Capacidade padrão"
              },
              "valor": "6"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "combobox",
                "nome": "Como reservar"
              },
              "rotulo": "Como reservar",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "rotulo": "Capacidade padrão"
              },
              "rotulo": "Vagas por turma",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "O horário da turma",
          "texto": "Na aba \"Horários\", clique em \"Adicionar horário\". Escolha \"Toda semana\", o dia (\"Terça-feira\") e o \"Início\" (19:00). \"Horário fixo\" é uma turma que começa naquela hora; \"Faixa de atendimento\" abre horários dentro de um intervalo. \"Copiar horário\" repete a linha para o dia seguinte.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "tab",
                "nome": "Horários"
              }
            },
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Adicionar horário",
                "exato": true
              }
            },
            {
              "acao": "selecionar",
              "alvo": {
                "role": "combobox",
                "nome": "Dia da semana"
              },
              "opcao": "Terça-feira"
            },
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Início"
              },
              "valor": "19:00"
            },
            {
              "acao": "click",
              "alvo": {
                "texto": "Programação",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "css": "[data-schedule-row='0']"
              },
              "rotulo": "Terça às 19h",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Salvar programação",
                "exato": true
              },
              "rotulo": "Salvar programação",
              "tipo": "seta"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Salvar programação",
            "exato": true
          }
        },
        {
          "id": "p5",
          "titulo": "Programação salva",
          "texto": "Ao clicar em \"Salvar programação\", aparece a confirmação com quantas reservas futuras foram mantidas. Agora o pilates tem turma às terças, 19h, com até 6 vagas, e a linha dele na lista passa a mostrar \"Coletivo com capacidade · 6\". Abaixo, em \"Conferir horários salvos\", escolha uma data e clique em \"Atualizar fontes e conferir\" para ver os horários daquele dia antes de divulgar.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Salvar programação",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "texto": "Configuração salva",
                "exato": false
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Configuração salva",
                "exato": false
              },
              "rotulo": "Confirmação",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Atualizar fontes e conferir",
                "exato": true
              },
              "rotulo": "Conferir os horários",
              "tipo": "seta"
            }
          ]
        }
      ]
    },
    {
      "id": "regras-gerais",
      "titulo": "Regras gerais da agenda",
      "objetivo": "Conhecer as regras que valem para a clínica toda e fechar um dia de feriado.",
      "papel": "admin",
      "busca": [
        "fechar agenda no feriado",
        "bloquear dia na agenda",
        "confirmação de presença",
        "nome da agenda",
        "cliente pela agenda etiqueta",
        "atendente mexer na agenda do colega"
      ],
      "passos": [
        {
          "id": "p1",
          "titulo": "Abrir as regras",
          "texto": "No fim da página, clique em \"Regras gerais da agenda\". A primeira regra é o \"Título da área da agenda\": o nome que aparece no topo da tela da Agenda e desta página. Vazio, fica \"Agendamentos\". Escreva e clique em \"Salvar título\".",
          "rota": "/app/settings/tenant/agenda",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "texto": "Regras gerais da agenda",
                "exato": true
              }
            },
            {
              "acao": "rolar",
              "alvo": {
                "role": "button",
                "nome": "Salvar título",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "texto": "Regras gerais da agenda",
                "exato": true
              },
              "rotulo": "Clique para abrir",
              "tipo": "seta"
            },
            {
              "alvo": {
                "rotulo": "Título da área da agenda"
              },
              "rotulo": "Nome da área da agenda",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Salvar título",
                "exato": true
              },
              "rotulo": "Salvar título",
              "tipo": "seta"
            }
          ]
        },
        {
          "id": "p2",
          "titulo": "Confirmação de presença",
          "texto": "Depois de cada horário, o sistema pede à equipe que confirme se o cliente veio. Sem essa confirmação, ele nunca presume falta. \"Pedir confirmação após o fim\" diz quantos minutos depois do fim esse pedido aparece. \"Proteger de cobranças por silêncio\" diz por quanto tempo as mensagens automáticas que cobram resposta do cliente ficam seguradas enquanto ninguém confirma. \"Soltar o horário de um pedido não confirmado\", que só vale para tipos que pedem confirmação, diz depois de quanto tempo um pedido de horário que ninguém aprovou solta a vaga; o cliente não é avisado disso. Ajuste e clique em \"Salvar prazos\".",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "role": "button",
                "nome": "Salvar prazos",
                "exato": true
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "css": "section:has(> h2:text-is('Confirmação de presença'))"
              },
              "rotulo": "Prazos de presença",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p3",
          "titulo": "Clientes pela agenda",
          "texto": "Com \"Quem tem horário marcado vira cliente\" ligado, todo contato com horário marcado ganha a etiqueta \"cliente\"; horário cancelado e falta não contam. Ao ligar, o sistema pede confirmação, porque quem já teve horário também ganha a etiqueta na hora. Clique em \"Ligar\" para aplicar ou em \"Cancelar\" para desistir. Desligar depois não tira a etiqueta de ninguém. Só o administrador muda esta regra.",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "testid": "cliente-pela-agenda-interruptor"
              }
            },
            {
              "acao": "click",
              "alvo": {
                "testid": "cliente-pela-agenda-interruptor"
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "role": "alertdialog"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "role": "alertdialog"
              },
              "rotulo": "Confirmar antes de ligar",
              "tipo": "caixa"
            }
          ]
        },
        {
          "id": "p4",
          "titulo": "Agenda dos colegas e Google Meet",
          "texto": "\"Atendentes podem mexer na agenda dos colegas\" vem ligado: qualquer atendente vê, cancela e remarca o horário de qualquer colega, e mexe nas tarefas da equipe. Desligado, cada um mexe só nos próprios; gerentes e administradores continuam mexendo em tudo. Essa regra vale assim que você clica. Logo abaixo, \"O Meet da reunião nasce com o acesso aberto\" deixa entrar quem tiver o link, sem pedir licença. Ela precisa da agenda do Google conectada, e quem já estava conectado precisa reconectar a agenda para a opção passar a valer.",
          "antes": [
            {
              "acao": "press",
              "tecla": "Escape"
            },
            {
              "acao": "rolar",
              "alvo": {
                "testid": "meet-acesso-aberto-interruptor"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "agenda-dos-colegas-interruptor"
              },
              "rotulo": "Agenda dos colegas",
              "tipo": "seta"
            },
            {
              "alvo": {
                "testid": "meet-acesso-aberto-interruptor"
              },
              "rotulo": "Meet aberto",
              "tipo": "seta"
            }
          ]
        },
        {
          "id": "p5",
          "titulo": "Fechar um dia",
          "texto": "Em \"Dias fora da rotina\", escolha \"Fechar o dia\", a data e um motivo, e clique em \"Fechar este dia\". Atenção: o dia fechado vale só para a agenda de quem está usando o sistema, e não para a clínica toda. Para fechar a agenda de outro gerente ou administrador, ele precisa entrar com a própria conta e fazer o mesmo. \"Abrir para atendimento\" faz o contrário: abre um dia fora da jornada, como um sábado. \"Repetir toda semana até\" fecha o mesmo dia da semana até a data escolhida.",
          "antes": [
            {
              "acao": "rolar",
              "alvo": {
                "testid": "dias-bloqueados"
              }
            },
            {
              "acao": "selecionar",
              "alvo": {
                "testid": "modo-do-dia"
              },
              "opcao": "Fechar o dia"
            },
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Dia",
                "exato": true
              },
              "valor": "2027-09-07"
            },
            {
              "acao": "fill",
              "alvo": {
                "rotulo": "Motivo (opcional)"
              },
              "valor": "Feriado da Independência"
            }
          ],
          "destaques": [
            {
              "alvo": {
                "testid": "dias-bloqueados"
              },
              "rotulo": "Dias fora da rotina",
              "tipo": "caixa"
            },
            {
              "alvo": {
                "role": "button",
                "nome": "Fechar este dia",
                "exato": true
              },
              "rotulo": "Fechar este dia",
              "tipo": "caixa"
            }
          ],
          "clicar": {
            "role": "button",
            "nome": "Fechar este dia",
            "exato": true
          }
        },
        {
          "id": "p6",
          "titulo": "O dia na lista",
          "texto": "O dia entra na lista logo abaixo, com \"o dia todo\" e o motivo. Nesse dia, a agenda deixa de oferecer horários; o que já estava marcado continua marcado, para você decidir o que fazer com cada um. \"Reabrir\" desfaz o fechamento.",
          "antes": [
            {
              "acao": "click",
              "alvo": {
                "role": "button",
                "nome": "Fechar este dia",
                "exato": true
              }
            },
            {
              "acao": "aguardar",
              "alvo": {
                "texto": "Feriado da Independência",
                "exato": false
              }
            },
            {
              "acao": "rolar",
              "alvo": {
                "testid": "abrir-novo-tipo"
              }
            },
            {
              "acao": "rolar",
              "alvo": {
                "css": "[data-testid='dias-bloqueados'] li:has-text('Feriado da Independência')"
              }
            }
          ],
          "destaques": [
            {
              "alvo": {
                "css": "[data-testid='dias-bloqueados'] li:has-text('Feriado da Independência')"
              },
              "rotulo": "Dia fechado",
              "tipo": "caixa"
            }
          ]
        }
      ]
    }
  ]
}
