The commitment lifecycle
Expiry
When a hold duration is set at commitment creation, the hold expires automatically after that period. An expiry sweep runs against live holds past their deadline and moves them fromheld to expired.
The expiry sweep is safe to run repeatedly. A lapsed hold is expired once; subsequent sweeps find nothing to do.
Release
The owner can release a held commitment at any time before it is confirmed. The Release hold action appears on the Commitments page for commitments in theheld state.
Releasing moves the commitment from held to released. The boundary summary shows “Released”. The status becomes released.
Releasing a hold does not refund a deposit. If a deposit was paid and the commitment was already confirmed, the commitment is terminal — releasing is not available. A refund after confirmation updates the deposit cell to “Refunded $X” and the status to released, but the commitment record itself remains
confirmed.What release does not do
- It does not delete the commitment record. The record remains visible and immutable.
- It does not delete the quote. The quote receipt remains available with its full derivation.
- It does not affect the book. No pricing rules change.
Handoff
When the boundary is crossed through an external system — for example, the business records the booking in its own calendar or work order system — the owner confirms the commitment with an external reference. Confirming with a handoff:- Moves the commitment from
heldtoconfirmed. - Records the external booking or order reference.
- Sets the boundary summary to “Handed off · [reference]”.
- Sets the status to booked.
Completed
When the work is done, the quote state moves tocompleted. This is a post-boundary fact read from the quote, not a commitment state change. The commitment status becomes completed.
Completion is the highest priority in the status derivation — a completed quote overrides every other commitment state. The boundary summary continues to show the handoff reference or deposit record from when the commitment was confirmed.
Downstream integration state
Each commitment records which surface created it:
The commitment event spine emits lifecycle events that downstream integrations can subscribe to:
- commitment.created — A new held commitment was created.
- commitment.confirmed — The commitment was confirmed, via deposit or handoff.
- commitment.hold_expired — A lapsed hold was expired by the sweep.
- commitment.released — The owner released the hold.
What is preserved
Pausing Live use or a billing interruption does not delete commitments. The commitment record, the quote receipt, and the book version pins all remain visible and immutable. When Live use resumes, the Commitments page returns to its normal state.Related
Product boundary
What Kordless handles and what happens after commitment.
Holds, booking, and deposits
How deposits, holds, and booking work at commitment.