Housekeeping
Schedule and track room cleaning tasks — checkout cleans, stayover services, turndown, deep cleans, and inspections. Tasks can be assigned to specific staff members and tracked through completion.
The Housekeeping Task object
idstringUnique task ID. Prefixed hk_.
property_idstringProperty this task belongs to.
room_numberstringRoom or unit to be serviced.
task_typeenumcheckout_clean · stayover_clean · turndown · deep_clean · maintenance · inspection
statusenumpending · in_progress · completed · skipped
priorityenumurgent · high · normal · low
assigned_tostring?Staff member assigned to this task.
scheduled_datedateDate the task is scheduled for (YYYY-MM-DD).
notesstring?Special instructions (e.g. VIP check-in, birthday setup).
started_atdatetime?When the task was started.
completed_atdatetime?When the task was marked complete.
created_atdatetimeISO 8601 timestamp.
Endpoints
/v1/housekeepingCreate a taskSchedule a new housekeeping task.
Request Body
room_numberstringrequiredRoom or unit to be serviced.task_typestringrequiredcheckout_clean, stayover_clean, turndown, deep_clean, maintenance, or inspection.scheduled_datestringrequiredDate for the task (YYYY-MM-DD).prioritystringurgent, high, normal, or low. Defaults to normal.assigned_tostringStaff member name or ID.notesstringSpecial instructions for the attendant.curl -X POST https://api.escapelife.ai/v1/housekeeping \
-H "X-API-Key: sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{
"room_number": "601",
"task_type": "turndown",
"priority": "high",
"scheduled_date": "2026-03-16",
"assigned_to": "Rosa M.",
"notes": "Birthday setup — rose petals and cake"
}'{
"id": "hk_def456",
"property_id": "pty_xyz",
"room_number": "601",
"task_type": "turndown",
"status": "pending",
"priority": "high",
"assigned_to": "Rosa M.",
"scheduled_date": "2026-03-16",
"notes": "Birthday setup — rose petals and cake",
"started_at": null,
"completed_at": null,
"created_at": "2026-03-16T08:00:00Z"
}/v1/housekeepingList tasksReturn housekeeping tasks for the property.
Path / Query Parameters
datestringFilter by scheduled date (YYYY-MM-DD).statusstringFilter by status: pending, in_progress, completed, skipped.task_typestringFilter by task type.assigned_tostringFilter by staff member.limitintegerMax results (1–100). Default 20.offsetintegerPagination offset. Default 0./v1/housekeeping/summaryHousekeeping summaryReturn task counts grouped by status and task type for a given date.
Path / Query Parameters
datestringDate to summarise (YYYY-MM-DD). Defaults to today.{
"date": "2026-03-16",
"by_status": {
"pending": 6,
"in_progress": 3,
"completed": 14,
"skipped": 1
},
"by_type": {
"checkout_clean": 5,
"stayover_clean": 8,
"turndown": 4,
"deep_clean": 2,
"inspection": 5
}
}/v1/housekeeping/{id}Retrieve a taskFetch a single housekeeping task by ID.
Path / Query Parameters
idstringrequiredTask ID (hk_...)./v1/housekeeping/{id}Update a taskUpdate task status, assignment, or notes. Setting status to in_progress automatically sets started_at; completed sets completed_at.
Path / Query Parameters
idstringrequiredTask ID (hk_...).Request Body
statusstringNew status value.assigned_tostringReassign to a different staff member.notesstringUpdate special instructions.prioritystringUpdate priority.curl -X PATCH https://api.escapelife.ai/v1/housekeeping/hk_def456 \
-H "X-API-Key: sk_live_xxx" \
-H "Content-Type: application/json" \
-d '{"status": "completed"}'