Skip to content

Show a shareable link's map

GET
/api/public/transactional-url/{idOrCode}/map
curl --request GET \
--url https://api.wink.travel/api/public/transactional-url/SIAMRSD2024/map \
--header 'Authorization: Bearer <token>' \
--header 'Wink-Version: 2.0'

Load the standard map of a shareable link (TransactionalUrl): one pin at the link’s hotel, at its lowest price for a night a month ahead for two, in the link customization’s currency. The map is not configurable; it is centred on the hotel. Clicking the pin is meant to open the hotel card. Accepts the link’s id or its short code; the map is identified by the link id either way.

idOrCode
required
string

The shareable link’s id (UUID) or its short code.

Example

SIAMRSD2024
Wink-Version
string
default: 2.0.0
Allowed values: 2.0

The link’s map and its one marker

Media typeapplication/json

Complete map configuration with markers for public consumption

object
map
required

The map configuration and styling

object
center
required

GeoJSON point defining map center (longitude, latitude)

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
circles
Array<object>

Optional circular overlay regions on the map

object
point
required

Circle center point

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
radius
required

Circle radius from center

number format: double
customizationIdentifier
required

UUID of the customization context (e.g., Wink Links, channel manager)

string format: uuid
>= 1 characters
displayType
required

Which data to display initially (NATIVE, MODIFIED, or AFFILIATE)

string
default: NATIVE
Allowed values: NATIVE HOTEL ROOM
draggable
required

Allow users to pan the map by dragging

boolean
default: true
identifier
required

Unique identifier of this map (assigned by server)

string format: uuid
>= 1 characters
initialZoomLevel
required

Initial zoom level (0-21, where 0 shows the entire world)

integer format: int32
<= 21
item

The single item a SINGLE map displays; absent for a LIST or SEARCH map, and for a SINGLE map whose item could not be resolved.

object
hotelIdentifier
required

The hotel the item belongs to.

string format: uuid
itemIdentifier
required

Master rate id (GUEST_ROOM), add-on id (ADD_ON), venue id (venue types) or the hotel id (HOTEL).

string format: uuid
itemType
required

What kind of item.

string
Allowed values: HOTEL GUEST_ROOM MEETING_ROOM RESTAURANT SPA ADD_ON ATTRACTION ACTIVITY PLACE
mapHeight
required

Height of the embedded map in pixels

integer format: int32
>= 1
mapMarkerColor
required

Hexadecimal color code for map markers

string
Allowed values: cc2138
mapStyle
required

Map visual style (normal, clean, or bluish)

string
Allowed values: normal clean bluish
markers
Array<object>

Optional custom markers to display on the map

object
point
required

A GeoJSON point

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
name
required

Display name for this map

string
>= 1 characters
ownerIdentifier
required

UUID of the managing entity that owns this map

string format: uuid
>= 1 characters
polygons
Array<object>

Optional polygonal overlay regions on the map

object
polygon
required

A GeoJSON polygon

object
coordinates
Array<object>
object
coordinates
Array<object>
object
x
number format: double
y
number format: double
type
string
points
Array<object>
object
x
number format: double
y
number format: double
type
string
rectangles
Array<object>

Optional rectangular overlay regions on the map

object
rectangle
required

A GeoJSON rectangle

object
northEast
required

North-east corner of the geographic bounding rectangle

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
southWest
required

South-west corner of the geographic bounding rectangle

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
type
required

Category of inventory being displayed (SINGLE, LIST, or SEARCH)

string
Allowed values: SINGLE LIST SEARCH
typeIdentifier
required

UUID of the inventory source: the item’s identifier for a SINGLE map, the curated list or the dynamic search otherwise

string format: uuid
>= 1 characters
zoomable
required

Allow users to zoom in and out

boolean
default: true
markers
required

Inventory items displayed as markers on the map

Array<object>

Represents a single inventory item displayed as a marker on a map

object
inventoryIdentifier

UUID of the specific inventory item (e.g., room type or add-on). Deprecated: it is item.itemIdentifier.

string format: uuid
inventoryName

Human-friendly name of the inventory item

string
inventoryType

Classification of the inventory (e.g., GUEST_ROOM, ADD_ON). Deprecated: it is item.itemType.

string
Allowed values: GUEST_ROOM ADD_ON MEETING_ROOM RESTAURANT SPA ATTRACTION PLACE ACTIVITY
item
required

The item this marker represents. It is the key of the marker on the map, and what a client sends back to fetch, list or map the item.

object
hotelIdentifier
required

The hotel the item belongs to.

string format: uuid
itemIdentifier
required

Master rate id (GUEST_ROOM), add-on id (ADD_ON), venue id (venue types) or the hotel id (HOTEL).

string format: uuid
itemType
required

What kind of item.

string
Allowed values: HOTEL GUEST_ROOM MEETING_ROOM RESTAURANT SPA ADD_ON ATTRACTION ACTIVITY PLACE
lowestDisplayPrice

Lowest available price for this inventory in the user’s requested currency

object
amount
required

Monetary amount value

number
currency
required

ISO 4217 currency code

string
>= 1 characters /^[A-Z]{3}$/
point

Geographic location coordinates as a GeoJSON Point (longitude, latitude)

object
coordinates
Array<number>
type
string
x
number format: double
y
number format: double
supplierIdentifier

UUID of the supplier (hotel or property) owning this inventory. Deprecated: it is item.hotelIdentifier.

string format: uuid
supplierName

Display name of the supplier property

string

Example

{
"map": {
"center": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "Point"
},
"circles": [],
"customizationIdentifier": "a2c8f1d4-5e9b-4a7c-9f23-6b1e8d4c2f05",
"displayType": "NATIVE",
"draggable": true,
"identifier": "3c6b1a5d-8e2f-4a0b-9c7d-6e4f0a8b2c51",
"initialZoomLevel": 15,
"mapHeight": 500,
"mapMarkerColor": "cc2138",
"mapStyle": "normal",
"markers": [],
"name": "Premium Hotels in Southeast Asia",
"ownerIdentifier": "d5b8a3c2-9e6f-4a1b-8d34-7c2e1f0a5b69",
"polygons": [],
"rectangles": [],
"type": "LIST",
"typeIdentifier": "7a0c5d9e-2f6b-4c1a-8e4d-3b9f1a0c6d52",
"zoomable": true
},
"markers": [
{
"inventoryIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"inventoryName": "Deluxe Ocean View Suite",
"inventoryType": "GUEST_ROOM",
"item": {
"hotelIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"itemIdentifier": "8b1d6e0f-3a7c-4d2b-9e5a-1c8f0b4d6e29",
"itemType": "GUEST_ROOM"
},
"lowestDisplayPrice": {
"amount": 4500,
"currency": "THB"
},
"point": {
"coordinates": [
100.5581533,
13.7370197
],
"type": "Point"
},
"supplierIdentifier": "e2c7b4d3-1a8f-4e9c-b5d6-3a9f0e7c2b18",
"supplierName": "The Siam Residences"
}
]
}

Bad Request — missing or invalid request parameter or body

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Unauthorized — authentication is required or the session has expired

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Forbidden — authenticated but lacking the required permission or scope

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

No active link has that id or short code, or its hotel has no location

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Method Not Allowed — the HTTP verb is not supported on this endpoint

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Conflict — the resource was modified by someone else since you read it; re-read it and retry with the new version

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Unsupported Media Type — use application/json

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Internal Server Error — an unexpected failure occurred on the server

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}

Service Unavailable — a downstream dependency is unreachable

Media typeapplication/problem+json
object
detail
string
instance
string format: uri
properties
object
key
additional properties
status
integer format: int32
title
string
type
string format: uri

Example generated

{
"detail": "example",
"instance": "https://example.com",
"properties": {
"additionalProperty": "example"
},
"status": 1,
"title": "example",
"type": "https://example.com"
}