UserBookingClaim

JWT-scoped booking ownership claim via order email OTP.

APIDescription
POST api/user/bookings/claim/request-otp

Requests an OTP sent to the order contact email when order number, registration, and email match a claimable booking.

POST api/user/bookings/claim/confirm

Confirms the booking claim OTP and links the booking to the signed-in account.

UserBookingVehicles

JWT-scoped booking vehicle check-in status and photos.

APIDescription
GET api/user/bookings/{bookingId}/vehicle

No documentation available.

GET api/user/bookings/{bookingId}/vehicles/{vehicleBookingId}

No documentation available.

GET api/user/bookings/{bookingId}/photos

No documentation available.

GET api/user/bookings/{bookingId}/vehicle/photos/{fileName}

No documentation available.

GET api/user/bookings/{bookingId}/vehicles/{vehicleBookingId}/photos/{fileName}

No documentation available.

Vehicle

APIDescription
GET api/user/vehicles

No documentation available.

GET api/user/vehicles/{vehicleId}

No documentation available.

POST api/user/vehicles

No documentation available.

PUT api/user/vehicles/{vehicleId}

No documentation available.

DELETE api/user/vehicles/{vehicleId}

No documentation available.

UserBookingVoucherApply

APIDescription
POST api/user/bookings/{bookingId}/voucher-check

No documentation available.

POST api/user/bookings/{bookingId}/voucher-request

No documentation available.

UserBookingVehicleChange

APIDescription
POST api/user/bookings/{bookingId}/vehicle-change-check

No documentation available.

POST api/user/bookings/{bookingId}/vehicle-change-request

No documentation available.

UserBookingTransfer

APIDescription
GET api/user/bookings/{bookingId}/transfer/cruises?departureDate={departureDate}&flatten={flatten}

No documentation available.

POST api/user/bookings/{bookingId}/transfer-check

No documentation available.

POST api/user/bookings/{bookingId}/transfer-request

No documentation available.

Auth

Endpoints for user authentication, registration, and session management.

APIDescription
POST api/auth/register

Registers a new user account with email OTP verification.

POST api/auth/reaccept-legal

Re-accept current application terms and privacy policy after an update (authenticated).

POST api/auth/verify-email

Verifies a user's email address using a verification token sent to their email.

POST api/auth/resend-verification

Sends a new email verification code for an unverified account. Always returns success to prevent email enumeration.

POST api/auth/login/request-otp

Sends a sign-in OTP to a verified account, or a verification OTP if the account is not yet verified. Always returns success to prevent email enumeration.

POST api/auth/login

Authenticates a user with email and OTP sign-in code.

POST api/auth/login/social

Authenticates a user using social login providers (e.g., Google, Facebook).

GET api/auth/social-config

Returns public OAuth client identifiers for configured social login providers. Secrets are never included. Use this to initialize Google, Apple, or Facebook SDKs in clients.

POST api/auth/refresh-token

Refreshes an access token using a refresh token.

POST api/auth/revoke-token

Revokes a refresh token, preventing it from being used to obtain new access tokens.

UserBookingServices

APIDescription
GET api/user/bookings/{bookingId}/services/available

No documentation available.

POST api/user/bookings/{bookingId}/services-check

No documentation available.

POST api/user/bookings/{bookingId}/services-request

No documentation available.

UserBookingAmendmentRequests

APIDescription
GET api/user/bookings/{bookingId}/amendment-requests

No documentation available.

GET api/user/bookings/{bookingId}/amendment-requests/{amendmentRequestId}

No documentation available.

DELETE api/user/bookings/{bookingId}/amendment-requests/{amendmentRequestId}

No documentation available.

UserNotifications

APIDescription
GET api/user/notifications?since={since}&take={take}

No documentation available.

Passkey

APIDescription
POST api/passkeys/register/options

No documentation available.

POST api/passkeys/register

No documentation available.

POST api/passkeys/assert/options

No documentation available.

POST api/passkeys/assert

No documentation available.

GET api/passkeys

No documentation available.

DELETE api/passkeys/{passkeyId}

No documentation available.

UserBookingCancellation

JWT-scoped booking cancellation check and confirm.

APIDescription
POST api/user/bookings/{bookingId}/cancellation-request-check

No documentation available.

POST api/user/bookings/{bookingId}/cancellation-request-confirm

No documentation available.

UserBookingDocuments

JWT-scoped booking document PDFs (view inline or download attachment).

APIDescription
GET api/user/bookings/{bookingId}/documents

No documentation available.

GET api/user/bookings/{bookingId}/documents/confirmation-letter

No documentation available.

GET api/user/bookings/{bookingId}/documents/windscreen-ticket

No documentation available.

GET api/user/bookings/{bookingId}/documents/cancellation

No documentation available.

GET api/user/bookings/{bookingId}/documents/uploads/{uploadId}

No documentation available.

GET api/user/bookings/{bookingId}/legal-documents

No documentation available.

GET api/user/bookings/{bookingId}/legal-documents/{documentTypeId}

No documentation available.

Address

Endpoints for address lookup via Loqate Capture (Find/Retrieve proxy). Requires JWT authentication.

APIDescription
GET api/address/autocomplete?query={query}

Gets address autocomplete suggestions based on a search query.

GET api/address/get/{id}

Gets full address details for a specific address ID (from autocomplete suggestion).

User

Endpoints for managing user profile information and account settings.

APIDescription
GET api/user/profile

Retrieves the current authenticated user's profile information.

PUT api/user/profile

Updates the current authenticated user's profile information. Email cannot be changed.

GET api/user/detail

Retrieves booking-ready customer details for the current authenticated user.

PUT api/user/detail

Creates or updates booking-ready customer details for the current authenticated user.

GET api/user/bookings?flatten={flatten}&past={past}

Lists bookings for the current authenticated user (matched by account email). Only bookings with a received payment, or an order-finalised (terminal) payment, are included. Default is current bookings (cruise not yet returned, or returned within 14 days). Set past=true to list older bookings instead.

GET api/user/bookings/{bookingId}?flatten={flatten}

Returns one booking summary for the caller by bookingId (same shape as a list item). Same payment rule as the list (received payment or order-finalised). 404 when the booking is unpaid checkout. Not limited to the current 14-day list window or the 200-row list cap.

DELETE api/user/account

Deletes the current authenticated user's membership account and related auth data. Bookings and order records are not changed.

POST api/user/email-change/request

Requests an email change. Sends an OTP to the new address (enumeration-safe response).

POST api/user/email-change/confirm

Confirms an email change with the OTP sent to the new address. Returns fresh JWT and refresh token.

Notifications

APIDescription
GET api/notifications/webpush-public-key

No documentation available.

UserNotificationPreferences

APIDescription
GET api/user/notification-preferences

No documentation available.

PUT api/user/notification-preferences

No documentation available.

UserDevices

APIDescription
POST api/user/devices

No documentation available.

GET api/user/devices

No documentation available.

DELETE api/user/devices/{deviceId}

No documentation available.

Public read of published legal documents and authenticated terms-acceptance status.

APIDescription
GET api/legal/current?websiteId={websiteId}

Returns the current published document version and blocks for every document type on the given website.

GET api/legal/TermsConditionsStatus?websiteId={websiteId}

Returns the JWT caller's legal document acceptance status for every document type in the database.

POST api/legal/TermsConditionsStatus

Records one or more legal document acceptances for the JWT caller and returns updated status.

UserBookingPaymentContext

APIDescription
GET api/user/bookings/{bookingId}/payment-context

No documentation available.

UserBookingParkingZoneTransfer

APIDescription
GET api/user/bookings/{bookingId}/transfer/parking-zones

No documentation available.

POST api/user/bookings/{bookingId}/parking-zone-transfer-check

No documentation available.

POST api/user/bookings/{bookingId}/parking-zone-transfer-request

No documentation available.