How it works
1
Time Preference
Visitor picks date, time, and service type
2
AI Slot Check
Availability logic + working-hours filter
3
Confirmation Email
Auto-reply via Polsia email proxy
4
Calendar Log
Booking stored with status in PostgreSQL
Nessuna prenotazione ancora — invia il form per iniziare
Replicate this in your own stack
The same pipeline works in Make.com or Zapier — here is how to wire it up for each client.
Make.com (Integromat)
Build this exact workflow with Make's visual builder. No code required.
1
Form trigger — Typeform, Google Forms, or Webhook. Catch the booking payload
2
Router — check day-of-week. If Sat/Sun, reject with alt-time suggestion. If evening slot (19:00+), mark as waitlist
3
Email — if available, send confirmation via Gmail/SMTP. If not, send rebooking prompt
4
Calendar write — Google Calendar or Notion. Map: date, time, client name, service
Zapier
Use Filters and Code steps to implement availability logic — no custom infrastructure needed.
1
Trigger — Webhook by Zapier or Typeform. Catch name, email, date, time, service
2
Filter — skip if date is Saturday/Sunday. Skip if time is 19:00 or 20:00 (evening fully booked)
3
Gmail action — send confirmed or alternative slot email based on availability result
4
Google Sheets — append row with name, email, service, date, time, status
Availability Logic (No-Code)
Drop these rules into any automation tool's filter/router module.
IF day_of_week in [SAT, SUN]
→ status: unavailable
→ reply: "Siamo chiusi nel weekend.
Proposta: lunedí o martedí?"
IF time in ["19:00", "20:00"]
→ status: waitlist
→ reply: "Slot serale giá occupato.
Proposta: 14:00 o 16:00"
OTHERWISE
→ status: confirmed
→ email: conferma completa
Webhook / API Integration
Send bookings from any tool that can make an HTTP request — no native integration needed.
1
Endpoint: POST /book/submit
2
Payload: {"name":"...", "email":"...", "service":"...", "preferred_date":"YYYY-MM-DD", "preferred_time":"HH:00"}
3
Response: returns booking status, slot availability, and whether email was sent
4
Response fields: aiSummary.slot_available, booking.status