Get Held Voyage Booking
See Booking flow for the end-to-end lifecycle.
Endpoint: /bookings/create/voyage-only/{:sessionId}
METHOD: GET
Returns the current state of the held booking in a voyage-only session, exactly as the create, addon, excursion and supplemental-tour calls return it.
Use this to recover state when a response was lost — a timed-out request, a dropped connection, a retry — without abandoning the session and starting a new search. The call is read-only and can be made as often as needed; it neither changes the booking nor extends the session's lifetime.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| sessionId | string (UUID) | Yes | Session returned by /search/voyages. Must be voyage-only and hold a booking. |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| user_key | string | Yes | Unique key associated with the calling agency. |
Example
Request
curl --location '{:apiBase}/bookings/create/voyage-only/{:sessionId}?user_key=abcdef' \
--header 'Authorization: Bearer XXXXXXXX'
Response
{
"vehicles": [
{
"type": "CAR",
"guestId": 1
}
],
"addons": [
{
"code": "WIFI",
"guests": [1],
"isMandatory": true
}
],
"excursions": [],
"supplementalTours": [],
"priceBreakdown": {
"totalPrice": 249.0,
"cabins": [
{
"code": "DECK",
"guests": [
{
"guestId": 1,
"price": 106.0
}
]
}
],
"addons": [
{
"code": "WIFI",
"guests": [
{
"guestId": 1,
"price": 70
}
]
}
],
"excursions": [],
"supplementalTours": [],
"vehicles": [
{
"code": "CAR",
"guest": {
"guestId": 1,
"price": 73.0
}
}
]
},
"sessionId": "f91c02b2-f22a-42c9-80b7-e3ef591ef0e0",
"market": "US",
"currency": "USD",
"departureDate": "2026-05-11T18:15:00",
"arrivalDate": "2026-05-12T10:55:00",
"departurePort": "TOS",
"arrivalPort": "HVG",
"shipCode": "KH",
"embarkationNotification": [
{
"locale": "en",
"value": "Boarding opens 60 minutes before departure. Please be at the terminal in good time."
}
],
"guests": [
{
"id": 1,
"type": "ADULT"
}
],
"cabins": [
{
"id": 1,
"code": "DECK",
"cabinType": "Inside",
"cabinNumber": null,
"guests": [
1
]
}
]
}
Fields
The response body is identical in shape to Create Voyage Booking — see its Fields table for the full field reference.
Errors
See Error model for response-body shapes across status codes.
| Status | Cause |
|---|---|
| 400 | user_key query parameter is missing. |
| 404 | The session does not exist or has expired. |
| 409 | The session is not voyage-only, or no held booking has been created in it yet. |