DEXTER — BOOKING CONNECTION FOR MADELINE Outreach remains paused. These endpoints do not send WhatsApp messages or create a messaging schedule. Use the booking desk at /booking.html, or the API below. Julia can issue a dedicated key through the signed-in owner controls. Send it as Authorization: Bearer YOUR_BOOKING_KEY. Never use the OpenAI or ElevenLabs credentials here. Do not put the booking key in a URL, lead message, or meeting link. GET /api/booking/availability?from=ISO_DATE_WITH_TIMEZONE&to=ISO_DATE_WITH_TIMEZONE Returns availableStarts. Range: up to seven days. 45-minute spacing is enforced when the booking is created. Availability alone does not reserve a time. POST /api/booking/appointments Content-Type: application/json { "idempotencyKey": "unique-reference-for-this-confirmed-booking", "reference": "Revival lead 024", "startAt": "2026-10-24T14:00:00+08:00", "lead": {"name":"", "company":"", "years":null, "vendor":""} } The optional lead brief may be omitted. Dexter asks for missing details. Do not invent them or submit the whole lead spreadsheet. Returns meetingUrl, startAt, opensAt, joinBy, expiresAt, id, state. A 409 response means the time conflicts or a request reference was reused for different data. Offer another available time. Confirm the booking only after the successful response. Retry an uncertain request with exactly the same idempotencyKey and body to recover the same booking. GET /api/booking/appointments Lists recent and upcoming appointments and their links. This is private team data. DELETE /api/booking/appointments/APPOINTMENT_ID Cancels the appointment and revokes its link. To reschedule, cancel the old booking, then create a new one after the lead confirms the new time. Do not cancel another lead's booking to make room. LIMITS Singapore timezone. 45-minute space between bookings. Waiting room opens 10 minutes early. Join at the booked time or within 10 minutes after it. Each appointment link expires 50 minutes after the booked time. One 30-minute meeting per appointment, including questions. Reconnect within five minutes using the same browser; the original deadline stays unchanged. Up to five connection attempts. One active meeting across the service. GREG / MADELINE HANDOFF Greg's revival outreach is paused pending Julia's final message and link approval. Keep it paused. The GE / Great Eastern exclusion list remains excluded; do not import it or message it. A created appointment is not permission to begin daily outreach. Once Julia separately enables outreach, use the lead's confirmed date/time, reserve it, then send only that lead's meetingUrl. Never send the booking desk link or a booking access key to a lead.