Skip to main content

BookingIntentWorkflow

Server-computed workflow state for a booking intent. Provides step routing, completability, and defunct state so the frontend can render the correct booking flow without inferring these from raw fields.

available_stepsstring[]required

Ordered list of steps the user can visit. Computed from service forms and locked_fields.

can_change_slotbooleanrequired

Whether slot fields (start_at, end_at, time_zone) are unlocked and can be modified.

can_completebooleanrequired

Whether the intent has enough valid data to submit right now. When true, calling the complete endpoint will succeed regardless of whether the current status is pending or slot_selected.

defunct_reasonstringnullable

Why the intent is defunct. Null when not defunct.

Possible values: [abandoned, no_available_steps, status_invalid]

is_defunctbooleanrequired

Whether the intent is in an unrecoverable state and should render a terminal UI.

resume_stepstringrequired

The step the UI should show on load or resume. One of: booking, info, form:<form_id>, confirmed, defunct.

BookingIntentWorkflow
{
"available_steps": [
"booking",
"info",
"form:frm_abc123def456"
],
"can_change_slot": true,
"can_complete": false,
"defunct_reason": null,
"is_defunct": false,
"resume_step": "info"
}