{"name":"EasyMaid","description":"EasyMaid cleaning operations agent — books, reschedules, confirms and cancels professional cleanings for short-term-rental and residential properties in Portugal on behalf of the authenticated account owner.","url":"https://easy-maid.com/api/a2a","version":"1.0.0","provider":{"organization":"EasyMaid","url":"https://easy-maid.com"},"protocolVersion":"0.3.0","preferredTransport":"JSONRPC","capabilities":{"streaming":false,"pushNotifications":false,"stateTransitionHistory":true},"defaultInputModes":["application/json","text/plain"],"defaultOutputModes":["application/json","text/plain"],"skills":[{"id":"list_properties","name":"List properties","description":"List the user's rental properties on EasyMaid. Use this to find property ids and details before booking a cleaning.","tags":["properties","catalog"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"list_guest_stays","name":"List guest stays","description":"List guest stays (reservations/check-ins and check-outs) for the user properties. Use this to answer questions about occupancy and upcoming turnovers.","tags":["bookings","calendar"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"list_cleanings","name":"List cleanings","description":"List cleaning assignments (scheduled cleanings) with status, assigned cleaner/company and scheduled time. Use this for \"when is my next cleaning\" or status questions.","tags":["cleaning","status"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_cleaning_details","name":"Cleaning details","description":"Get full details of one cleaning assignment, including completion report, checklist status and photos availability. Use this for \"how did the cleaning go\".","tags":["cleaning","report"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"request_cleaning","name":"Request cleaning","description":"Request a new cleaning for one of the user properties at a given date/time. Creates a PENDING assignment that the cleaning company must accept. Use this when the user asks to book/schedule a cleaning. Always confirm property, date and service type with the user first.","tags":["cleaning","book"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"reschedule_cleaning","name":"Reschedule cleaning","description":"Move an existing cleaning to a new date/time. Only PENDING or CONFIRMED cleanings can be rescheduled; a confirmed cleaning goes back to PENDING for the company to re-accept.","tags":["cleaning","modify"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"confirm_cleaning","name":"Confirm cleaning","description":"Confirm/accept a cleaning that is PENDING (or accept a company counter-proposal). Moves status to CONFIRMED.","tags":["cleaning","confirm"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"cancel_cleaning","name":"Cancel cleaning","description":"Cancel a scheduled cleaning. Cannot cancel cleanings already IN_PROGRESS or COMPLETED. This is destructive — always ask the user to confirm before calling.","tags":["cleaning","cancel"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"]}],"securitySchemes":{"oauth2":{"type":"oauth2","flows":{"authorizationCode":{"authorizationUrl":"https://easy-maid.com/oauth/authorize","tokenUrl":"https://easy-maid.com/api/oauth/token","scopes":{"bookings:read":"Read stays and cleanings","bookings:write":"Create and modify cleanings","profile:read":"Read profile and properties","history:read":"Read cleaning history"}}}}},"security":[{"oauth2":["bookings:read","bookings:write","profile:read","history:read"]}]}