Install
openclaw skills install claw-cleaningBook a professional apartment cleaning in San Francisco via the claw.cleaning REST API. Use when someone wants to book, schedule, or inquire about apartment...
openclaw skills install claw-cleaningThis skill calls the claw.cleaning REST API directly over HTTPS — no local CLI, no MCP server.
https://claw.cleaningapplication/jsonUse the agent's HTTP/fetch capability (e.g. curl, fetch, requests) to call the endpoints below.
GET /availability — list open slotsPOST /bookings/initiate — reserve a slot (calendar invite sent immediately, customer pays the cleaner at the appointment)GET /bookings/status — list upcoming bookings by emailPOST /bookings/initiate without showing the full preview to the customer and getting explicit confirmation ("yes", "confirm", "book it", etc.).GET /availability before POST /bookings/initiate to confirm the slot is listed as available.GET /availability.GET https://claw.cleaning/availability returns the next 14 upcoming bookable days under a top-level days array. Pass ?date=YYYY-MM-DD to check one specific day. Before 2026-05-05 the date must be a Saturday or Sunday; on or after, any day of the week is bookable.
Examples:
GET https://claw.cleaning/availability
GET https://claw.cleaning/availability?date=2026-05-06
Present the available slots clearly. Each slot shows startTime and maxHours available.
Ask the customer:
Show the customer a summary (date, start time, hours, address, total, email) and remind them the total is paid to the cleaner at the appointment. Ask for explicit confirmation before posting the booking.
POST https://claw.cleaning/bookings/initiate with a JSON body:
{
"date": "YYYY-MM-DD",
"startTime": "HH:MM",
"hours": 1-8,
"address": "... San Francisco, CA ...",
"name": "Customer Name",
"email": "customer@example.com"
}
Send Content-Type: application/json. On success returns { "status": "booked", "total": "$X", ... }. The slot is reserved immediately and the calendar invite is sent.
Tell the customer the slot is booked, the calendar invite is on its way, and they owe the cleaner $40/hour at the end of the session (cash or card).
GET https://claw.cleaning/bookings/status?email=<url-encoded-email> if the customer asks whether their booking went through. Returns upcoming bookings for that email.
All errors return a JSON body with an error field and a non-2xx HTTP status.
400 "Address must be in San Francisco, CA." → ask for a valid SF address400 "Hours must be between 1 and 8." → correct the hours value400 "Weekdays before 2026-05-05 are not bookable..." → pick a Saturday/Sunday, or any day on or after 2026-05-05400 "Cannot book a time in the past..." → pick a future date and time400 "Invalid date format. Use YYYY-MM-DD." / "Invalid startTime format. Use HH:MM (24h)." → fix the format400 "Invalid email address." → ask for a valid email403 "This email is blocked from booking." (code: "email_blocked") → the operator has blocked this email due to prior no-shows. Customer should contact connor@getcolby.com.409 "That time slot is no longer available." → call GET /availability and offer alternatives500 "Failed to fetch availability." / "Failed to initiate booking." / "Could not create calendar event." → retry once; if it keeps failing, tell the customer to try again laterSee references/booking-flow.md for a full example conversation flow with sample HTTP requests and responses.