La Petite Ménagère
A necessidade
Permitir que os clientes reservem online, diretamente no Google Calendar da responsável, sem que alguma vez lhes seja proposta uma hora já ocupada, e deixar-lhe a decisão: é ela quem confirma cada marcação.
O que construímos
O site em seis línguas, o calendário de reservas, o servidor que o liga à agenda, os e-mails ao cliente e à responsável e a publicação automática.
O fluxo
- O cliente escolhe os horários
- Verificação: livre, mínimo 2 h, deslocação incluída (Regra)
- Marcação «a confirmar» no Google Calendar (Integração)
- A responsável confirma ou recusa a partir do e-mail (Pessoa)
- Confirmação ao cliente, com o ficheiro de calendário (Integração)
IA ou regras?
Regras, sem IA: aqui não há texto nenhum para interpretar. Horários de 30 minutos, visitas de pelo menos 2 horas, 30 minutos de deslocação entre dois clientes. A grelha mostrada e a aceitação do pedido aplicam a mesma regra: o que aparece livre é o que é aceite.
Controlo humano e riscos
Cada dia pedido decide-se à parte: confirmado para uma ou duas pessoas (a dois, a agenda só bloqueia cerca de metade do tempo) ou recusado, e a hora volta a ficar livre. O cliente recebe a resposta na sua língua.
Verificado automaticamente
- Dez clientes pedem a mesma hora no mesmo instante: só um a consegue.
- Se o Google Calendar não responder, nada fica gravado a meio e a responsável é avisada.
- O que o cliente escreve nunca é interpretado como código nos e-mails.
- Percurso de reserva e acessibilidade testados num navegador real.
- Em cada publicação, se a nova versão não responder, a anterior volta sozinha.
- Os testes usam a mesma base de dados que a produção, PostgreSQL. Cada alteração à sua estrutura é versionada, testada e aplicada automaticamente na publicação.
Feito com
React, TypeScript, Tailwind CSS · Java 17, Spring Boot, PostgreSQL, Flyway · Testcontainers, Docker, Playwright · Google Calendar API · GitHub Actions, Caddy