Claude + PayPal, under the hood
How it works
One AI receptionist for a beauty pro, on every channel. It books real times, takes the deposit with PayPal, applies her cancellation policy and keeps her calendar live.
01
Ask
A client writes on the pro page, on WhatsApp, or through her own AI assistant over MCP.
02
Hold
Claude finds real free times and holds one: 15 minutes on the web, 30 on WhatsApp and MCP, topped up once when the pay page opens.
03
Pay
PayPal Orders v2: the client approves the deposit; the capture confirms the booking.
04
Run the day
The pro's Bryntum calendar updates live. Cancellations refund per policy, done bookings pay her out.
Guardrails
Amounts never come from the model. Tools take ids and times. Prices, deposits, fees, refunds and payouts are computed by the booking engine and SQL from stored rows.
A human confirms every money move. Clients approve the PayPal deposit themselves (an MCP agent only gets the approval link). Refunds and payouts the pro asks for wait for her button press.
PayPal is verified and idempotent. Webhooks are checked with verify-webhook-signature and stored once by event id. Every PayPal POST carries a PayPal-Request-Id. Capture is idempotent.
Every tool call is logged. Each call lands in agent_events with its inputs, a summary of its result and its duration: the timeline below reads them.
Live: one booking, step by step
Every agent tool call, PayPal event and booking change, in order, with how long each call took. Open /how-it-works?ref=ABC123 with the reference from your confirmation to follow your own booking.
Cornrows with Aïcha · Aïcha Braids
Wed 28 Oct, 15:30 (Europe/Rome)
- Price
- €45.00
- Deposit
- €30.00
- Booking fee
- €1.50
- Paid
- €0.00
Step by step
live, every 3 s- BookingBooking M64YMT held
out source: web · staff: Aïcha
- BookingHold expired
out the deposit was not paid in time