Cabin inventory
Cabin-level inventory reads and holds used by block requests and deck plans.
| Operation | Endpoint |
|---|---|
| List cabins of a ship configuration | GET /supply/cabins |
| Read cabin inventory for a sailing | GET /supply/sailings/{sailingId}/cabin-inventory |
| Hold, block or release a cabin | PATCH /supply/sailings/{sailingId}/cabin-inventory/{cabinNumber} |
List cabins of a ship configuration
GET
/supply/cabinsParameters
| Name | In | Required | Notes |
|---|---|---|---|
shipConfigId | query |
Response 200
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details. |
| 401 | unauthenticated | The bearer token is missing, invalid, expired or minted for another purpose. |
| 500 | internal | Unexpected failure. Retry with the same Idempotency-Key. |
Read cabin inventory for a sailing
GET
/supply/sailings/{sailingId}/cabin-inventoryParameters
| Name | In | Required | Notes |
|---|---|---|---|
sailingId | path | yes |
Response 200
{ data }: cabins with their status and hold, and category summaries.
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details. |
| 401 | unauthenticated | The bearer token is missing, invalid, expired or minted for another purpose. |
| 500 | internal | Unexpected failure. Retry with the same Idempotency-Key. |
Hold, block or release a cabin
PATCH
/supply/sailings/{sailingId}/cabin-inventory/{cabinNumber}Parameters
| Name | In | Required | Notes |
|---|---|---|---|
sailingId | path | yes | |
cabinNumber | path | yes |
Headers: Idempotency-Key, plus X-Request-Id.
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
status | enum: open, blocked, staff, crisis | ||
held | boolean | ||
holdRef | string | ||
holdUntil | string (date) | ||
maxGuests | integer | ≥ 0; ≤ 8 | |
note | string | ||
sellAsCategory | string | ||
reason | string | yes | min 1 chars |
Response 200
Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request failed validation. The message names the first failing field; oms-ops and group surfaces also return every issue in details. |
| 401 | unauthenticated | The bearer token is missing, invalid, expired or minted for another purpose. |
| 409 | no_unit_available | No unit is left in the category. |
| 409 | idempotency_in_progress | A request with this Idempotency-Key is still running. Retry after the Retry-After interval. |
| 422 | idempotency_key_reused | The Idempotency-Key was used for a different request. |
| 500 | internal | Unexpected failure. Retry with the same Idempotency-Key. |