Ao vivo · status OK
OW Agenda · v1.3.1 · GPL-2.0

A marcação de consultas no WordPress
sem horários fantasma.

O OW Agenda trata da reserva online, da validação, dos lembretes e da agenda diária do profissional. Cada pedido de um visitante tem de ser confirmado por um link enviado para o seu endereço de email antes de ocupar um lugar: um robô nunca chega à tua agenda. Grátis, GPL, sem versão Pro.

v1.3.1GPL-2.0WordPress 6.3+PHP 7.4+
Porquê

Porquê mais um plugin de marcações?

No site de um consultório, um formulário de reserva ligado sem salvaguardas cria mais trabalho do que aquele que poupa. Qualquer robô preenche uma agenda pública, e quem atende o telefone passa o dia a separar as marcações reais dos pedidos que nunca existiram.

Os plugins estabelecidos funcionam, mas estão todos construídos sobre o mesmo modelo: uma versão gratuita deliberadamente limitada — um único funcionário, um único local, um punhado de serviços — e uma subscrição anual para recuperar o uso normal do software. Para um profissional que trabalha sozinho, paga-se sobretudo o direito de sair da demonstração.

O OW Agenda parte de um consultório real e de três restrições: um pedido só existe depois de confirmado por email, dois visitantes não podem reservar o mesmo horário, e a agenda tem de gerir-se de pé, entre dois pacientes, num telemóvel. O resto — diretório de clientes, convites, ICS, lembretes — decorre destas três regras.

Horários ocupados por ninguém

Sem validação por email, um formulário aberto é uma agenda que os robôs preenchem à borla. Aqui o pedido fica pendente, retém o horário durante 45 minutos e desaparece sozinho se o link nunca for clicado.

A dupla marcação de sábado de manhã

Dois visitantes no mesmo horário com três segundos de intervalo: uma simples transação MySQL não coloca nenhum bloqueio de linha e regista as duas. O OW Agenda serializa a reserva com um bloqueio nomeado — o segundo recebe uma mensagem, não uma marcação duplicada.

Um back-office inutilizável ao balcão

Entre dois pacientes, ninguém abre o wp-admin num telemóvel. A gestão faz-se numa página do teu site protegida por autenticação: vista do dia, pedidos pendentes, reagendamento, estados feito / faltou, em poucos toques de polegar.

Por baixo do capot

O que muda concretamente

Sem slogans. Eis as decisões técnicas que distinguem este produto.

Reserva online em horários reais

O shortcode [ow_agenda] mostra os próximos 14 dias disponíveis e, a seguir, as horas livres: escolha do dia, do horário, formulário curto (nome, telefone, email, mensagem) e caixa de consentimento RGPD. Defines a granularidade, a duração da consulta, o intervalo entre duas marcações, a antecedência mínima e o horizonte de marcação. Qualquer evento da tua agenda — reserva web, marcação telefónica introduzida à mão, horário bloqueado — retira o seu período das disponibilidades.

Duplo opt-in: os robôs não entram

Um pedido de visitante fica por verificar enquanto o link recebido por email não for clicado. Retém o horário durante 45 minutos e é depois purgado automaticamente. A montante, o campo-armadilha e o carimbo temporal do formulário são obrigatórios — omiti-los já não desativa nada —, o quota horário é contado por endereço IPv4 e por prefixo /64 em IPv6, e um limite máximo trava os pedidos não validados no mesmo dia.

Validação a partir da tua caixa de correio

O email de notificação contém dois botões, Confirmar e Recusar, cujos links são assinados em HMAC-SHA256: decides num toque, sem abrir o WordPress nem iniciar sessão. A validação manual é o modo recomendado; a confirmação automática continua disponível para as atividades que não têm nada a arbitrar.

Agenda mobile-first para o profissional

O shortcode [ow_agenda_admin] cria uma página «Agenda» no teu site, protegida por autenticação e por uma capacidade dedicada: vista do dia, pedidos pendentes, adição de uma marcação feita por telefone, bloqueio de horários, reagendamento, estados feito e faltou. Adicionada ao ecrã principal do teu telemóvel, comporta-se como uma aplicação.

Diretório de clientes e convites de sessão

Pesquisa, criação, edição e eliminação de fichas de clientes, alimentadas automaticamente pelas marcações validadas. Para uma sessão de acompanhamento, um link privado nominativo deixa o cliente escolher ele próprio a data, num serviço e numa duração que definiste: o convite expira, é consumido uma única vez e volta a ficar utilizável se a marcação for anulada.

Lembretes e calendários que não se perdem

Emails HTML cuidados em cada etapa, com um ficheiro ICS em anexo: o teu cliente acrescenta a marcação ao calendário do telemóvel num gesto, um reagendamento atualiza a entrada e uma anulação elimina-a. O lembrete da véspera parte numa janela deslizante de 12 a 36 horas e recupera o atraso na execução seguinte; a tarefa horária reagenda-se sozinha se desaparecer.

Comparação

Face às alternativas

Dados verificáveis. Marcar apenas o que existe realmente na concorrência.

CritérioOW AgendaAmeliaBooklySimply Schedule Appointments
Modelo de negócioGratuito, GPL-2.0Freemium (Pro pago)Freemium (Pro pago)Freemium (Pro pago)
Limites da versão gratuitaNenhum: está tudo incluídoLite: 1 funcionário, 1 local5 serviços, 1 funcionárioFuncionalidades de base
Chave de licença a ativarNenhumaPara a versão ProPara a versão ProPara a versão Pro
Duplo opt-in por email antes de ocupar o horárioAtivado por defeitoNão anunciadoNão anunciadoNão anunciado
Confirmar / Recusar a partir do email, sem sessão iniciadaLinks assinados HMAC-SHA256SimNão anunciadoNão anunciado
Ficheiro ICS anexado aos emails do clienteREQUEST, atualizações e CANCEL
Anonimização automática das marcações passadasIncluída, prazo configurávelNão anunciadoNão anunciadoNão anunciado
Gestão diáriaPágina do site, mobile-firstBack-office WordPressBack-office WordPressBack-office WordPress
Integração

Três formas de integrar um formulário

Sem page builder proprietário imposto. Escolha a abordagem que se adequa ao seu stack.

[ow_agenda]

// La page « Prendre rendez-vous » est créée automatiquement à l'activation.
// Le même shortcode sert aux invitations de séance : le lien privé envoyé
// à un client existant pointe vers cette page avec son jeton en paramètre.
//
// https://ton-site.be/prendre-rendez-vous/?owag_invite=<jeton>
Perguntas técnicas

Dúvidas razoáveis, respostas diretas

Os horários propostos online têm em conta as marcações feitas por telefone?

Sim. Tudo o que consta da tua agenda ocupa o tempo que leva: uma reserva web, uma marcação introduzida à mão depois de uma chamada, um período bloqueado para uma reunião. O cálculo das disponibilidades parte do teu horário de funcionamento, retira esses períodos, aplica a duração do serviço, o intervalo entre duas marcações, a antecedência mínima antes da reserva e o horizonte máximo. Um horário apresentado é um horário realmente livre.

Como é que o plugin impede as reservas falsas?

Com um pedido que não existe enquanto não for confirmado. O visitante recebe um link de validação; sem clique, o seu pedido retém o horário durante 45 minutos e é depois purgado. A isto juntam-se um campo-armadilha e um carimbo temporal agora obrigatórios — um envio que os omita é recusado em vez de passar sem controlo —, um quota horário por endereço IP (agregado por prefixo /64 em IPv6, onde de outro modo uma única máquina dispõe de milhares de milhões de endereços) e um limite de pedidos não validados por dia, para que um mesmo visitante não possa congelar toda a tua agenda.

O que acontece se duas pessoas reservarem o mesmo horário ao mesmo tempo?

Só uma reserva é concluída. A secção crítica é serializada por um bloqueio nomeado do MySQL: a verificação de disponibilidade e a escrita fazem-se sob bloqueio, algo que uma simples transação não garantia — uma leitura simples não coloca nenhum bloqueio de linha em REPEATABLE READ. O nome do bloqueio deriva da base de dados e do prefixo das tabelas, para que dois sites do mesmo alojamento partilhado não se bloqueiem mutuamente. O segundo visitante é convidado a escolher outro horário.

O cliente pode anular ou remarcar sozinho a sua marcação?

Sim, pelo link presente nos seus emails, até ao prazo de aviso prévio que definires (24 horas por defeito); depois disso, a página convida-o a telefonar-te. A anulação envia um ficheiro ICS de cancelamento que retira o evento do calendário dele e, se a marcação vinha de um convite privado, este volta a ficar utilizável em vez de continuar definitivamente consumido.

Como gerir a agenda a partir de um telemóvel?

Abre a página «Agenda» do teu site no telemóvel, inicia sessão e usa «Adicionar ao ecrã principal». A interface passa então a comportar-se como uma aplicação: dia em curso, pedidos a validar, adição de uma marcação telefónica, bloqueio de um horário, reagendamento, estados feito e faltou. Sem instalação, sem loja de aplicações e sem nada que saia do teu alojamento.

O plugin está traduzido?

Sim. Desde a 1.3.1, todas as cadeias visíveis — definições, páginas de reserva e de anulação, mensagens da API, modelos de email e interface JavaScript — passam pelo domínio de tradução ow-agenda, com o inglês como língua de origem. O modelo languages/ow-agenda.pot é fornecido aos tradutores, e uma tradução francesa completa foi produzida e submetida ao translate.wordpress.org; as restantes línguas seguem pela mesma via.

Grátis. Sem asterisco.

Nenhuma versão Pro, nenhuma chave de licença.

O OW Agenda é publicado sob licença GPL-2.0. Tudo o que esta página descreve está no .zip que descarregas: nenhuma funcionalidade reservada, nenhuma subscrição, nenhum limite ao número de marcações, de funcionários ou de serviços.

  • Está tudo incluído: reserva online, duplo opt-in, convites de sessão, diretório de clientes, emails com ICS e lembretes.
  • O .zip descarrega-se em optionweb.dev. O plugin não está publicado no wordpress.org: instala-o em Plugins → Adicionar novo → Carregar plugin.
  • Nenhum serviço terceiro, nenhuma verificação de licença, nenhum rastreador: os contactos dos teus clientes ficam no teu alojamento.
  • O código está sob GPL-2.0, legível e modificável: podes auditá-lo, adaptá-lo e fazê-lo evoluir, connosco ou sem nós.
Concebido por Julien Daniel · Châtelet, Bélgica