Complete Schedule
Complete a departure for everyone on it who checked in, in one call. This is what staff press at the end of a session in EquipDash (on Today, the session's manifest and the mobile app).
- Each booking with at least one person checked in on this departure has this departure completed.
- A booking whose last day this was is completed in full, and the customer gets the business's after-the-day message (a survey or review request, as the business has it set up).
- A booking that runs on several days keeps its other days open.
- Bookings nobody checked in on are left as they are.
- Anyone checked in and not marked back yet is recorded back now, with
back_sourcecomplete(see Mark People Back).
Endpointโ
POST /v1/experiences/{id}/schedules/{scheduleId}/complete
Authenticationโ
Requires an API key with the bookings:write scope.
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Experience ID |
scheduleId | integer | Schedule (departure) ID |
Example Requestโ
curl -X POST "https://app.equipdash.com/api/v1/experiences/12/schedules/487/complete" \
-H "Authorization: Bearer YOUR_API_KEY"
Responseโ
Success (200 OK)โ
{
"data": {
"schedule_id": 487,
"completed": 3,
"booking_ids": [2389, 2391, 2402]
},
"meta": {
"request_id": "req_abc123",
"timestamp": "2026-10-06T18:13:00+00:00"
}
}
If nobody on the departure is checked in, the request returns 422 nobody_checked_in; nothing changes.
Errorsโ
| Status | Code | When |
|---|---|---|
| 422 | session_not_started | The departure has not started yet |
| 422 | nobody_checked_in | Nobody on this departure is checked in |
| 422 | return_gate_blocked | A close-out or rental-extra return check is unfinished; no booking is completed |
| 403 | forbidden | The experience belongs to another business |
| 404 | not_found | No such experience, or the schedule is not one of its departures |
A return_gate_blocked error includes booking_id, line_id, line_type and kind in error.details. Finish that booking's check, then retry. Only checks for this departure apply; another day's checks stay open. The mobile manifest completion endpoint uses the same checks and error details.