Table of Contents

Locations file

GET /locationsmarket not required (this is global data; the market parameter has no effect).

A JSON array mapping port/location codes to a country, a display name, and a location type. Use it to resolve the DeparturePort and ArrivalPort codes in the voyages file. This is static reference data that changes rarely.

curl --location 'https://bookings.sw.travelhx.com/locations' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'

Fields

Field Type Description
code string Location code; the join key to voyages[].DeparturePort / voyages[].ArrivalPort. Port and city codes are mostly UN/LOCODE-style 5-character codes, with some legacy 3-character codes (^[A-Z0-9]{3,5}$). E.g. USOME, SJLYR, ZZATS, PUQ. hotel and transfer entries instead use longer hyphenated codes. E.g. BUE-ART, BUEAIR-HOT, CPHAIR-HOT-LUG.
country string ISO 3166-1 alpha-2 country code (^[A-Z]{2}$). ZZ is a placeholder for non-country entries — the "At Sea" entry (type sea) and all transfer services. E.g. IS, SJ, EC, AQ, ZZ.
description string Human-readable port/location name. E.g. Heimaey, Longyearbyen, At Sea.
type string (enum) Kind of location. See location types. E.g. port, city, airport.

Location types

type is one of:

Type Meaning
port A ship stop — anywhere the ship calls during the voyage. Covers both regular ports and expedition shore landings (e.g. an Antarctic landing).
city A city (e.g. a transfer or overnight-stay city).
airport An airport used for pre-/post-cruise flights.
hotel A hotel used for pre-/post-cruise overnight stays.
transfer A transfer service, not a physical place — e.g. an airport-to-hotel transfer, a luggage transfer, or a connecting flight. Always has country ZZ. E.g. Transfer from airport to hotel in Anchorage, Luggage transfer from hotel to pier in Longyearbyen.
sea The non-place "At Sea" entry (ZZATS).
Warning

Some entries are deactivation markers, not real port names. Their description may be DO NOT USE IT, TO DELETE, or a name suffixed with - old code. Filter these out before showing the list to end users — but keep them in your lookup so you can still resolve historical codes that may appear in older data.

Note

Only DeparturePort / ArrivalPort in the voyages file are port codes. The itinerary[].location field is free-text day copy and does not join here.

Example

[
  { "code": "USOME", "country": "US", "description": "Nome", "type": "city" },
  { "code": "SJLYR", "country": "SJ", "description": "Longyearbyen", "type": "city" },
  { "code": "AEP", "country": "AR", "description": "Buenos Aires Aeroparque Airport (Domestic)", "type": "airport" },
  { "code": "ZZATS", "country": "ZZ", "description": "At Sea", "type": "sea" }
]