fulfillments
Hospitality module · 6 operations
List fulfillment rows
GET/fulfillments
A lodging, catering, travel or amenity fulfillment. Returns a cursor page of fulfillment rows the caller may see. The default order is `created_at` ascending. Supports sparse fieldsets and the filter grammar.
Create a fulfillment
POST/fulfillments
A lodging, catering, travel or amenity fulfillment. Creates a fulfillment. Requires `Idempotency-Key`; a replay returns the original response. The organization is derived from the credential or the parent row, never from the body.
Get a fulfillment
GET/fulfillments/{id}
A lodging, catering, travel or amenity fulfillment. Returns one fulfillment with its `ETag`. A fulfillment the caller may not see returns 404.
Update a fulfillment
PATCH/fulfillments/{id}
A lodging, catering, travel or amenity fulfillment. Updates the fields sent; omitted fields are unchanged. Requires `If-Match` with the current `ETag`: a stale tag returns 412 and a missing tag returns 428.
Delete a fulfillment
DELETE/fulfillments/{id}
A lodging, catering, travel or amenity fulfillment. Soft-deletes the fulfillment: it moves to Trash and can be restored for its table's retention period.
Transition the fulfillment state
POST/fulfillments/{id}/transitions
Moves the fulfillment lifecycle to another state through its transition RPC, which writes the transition ledger. Uses compare-and-set on `expected_state`; a disallowed transition returns a 422 refusal. Requires `Idempotency-Key`; a replay returns the original response. A rule that refuses the request returns 422 with `refusal` and `reason`.