Table of Contents

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.