Skip to main content
GET
Get a listing

Authorizations

Authorization
string
header
required

Your brand's secret API key, e.g. Bearer way_sk_live_bhEqcn0i1fRoUEHBPjJkQA. Older Way-Brand-Id + Way-Secret-Key credentials still work: see Legacy authentication.

Path Parameters

listingId
string
required

The listing's ID.

Query Parameters

language
string

Locale for translated content; defaults to the brand's language.

version
enum<string>
default:published

Which content version to return: the published version (default) or the latest draft.

Available options:
latest,
published

Response

200 - application/json
addOns
(object | null)[]
required

Optional extras guests can purchase with the booking, such as merchandise or upgrades. Only add-ons currently available for sale are returned.

bookingAvailabilityMode
enum<string> | null
required

How the listing's sessions can be booked: private (a booking reserves the session for one party), group (parties share group sessions), or non-restricted (both private and shared bookings are allowed). Null for resource collections, where the mode is set per resource.

Available options:
private,
group,
non-restricted
Example:

"group"

brandId
string<uuid> | null
required

Unique identifier of the brand whose storefront serves this listing.

Example:

"f2ce0a06-7997-4626-9532-65ac70f3a19c"

eventDates
string[]
required

Calendar dates (YYYY-MM-DD) on which the event takes place. Populated for event listings backed by a collection; empty otherwise.

Pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
eventStartTimes
string[]
required

Session start times for the event's dates, as 24-hour time strings. Populated for event listings backed by a collection; empty otherwise.

Pattern: ^([0-1]\d|2[0-3])(?::([0-5]\d)){1,2}$
hidePrice
boolean
required

Whether the storefront should hide the listing's price from guests.

Example:

false

id
string<uuid>
required

Unique identifier of the listing.

Example:

"d9fa9229-9132-415d-bc04-513062ee3bcd"

included
string[]
required

Items included with the booking, shown as the "What's included" list on the listing page. Empty for resource collections, where inclusions are returned per resource group.

isBookable
boolean
required

Whether the listing can currently be booked online.

Example:

true

isExclusive
boolean
required

Whether booking the listing requires an access code.

Example:

false

isMapped
boolean
required

Whether the listing's resources are laid out on an interactive venue map guests can pick from. Only true for resource collections with a map enabled.

Example:

false

isUnlisted
boolean
required

Whether the listing is unlisted: hidden from public browse pages and reachable only via a direct link.

Example:

false

kind
enum<string>
required

The type of listing: experience (time-based sessions with guests), resource (a bookable resource collection such as cabanas), event, or auction.

Available options:
experience,
resource,
event,
auction
Example:

"experience"

medias
object[]
required

Images and videos attached to the listing.

productLine
enum<string>
required

The Way product line the listing is sold under: activate, host, or reserve. Host listings are led by a host and include hostedBy details.

Available options:
activate,
host,
reserve
Example:

"reserve"

resourceGroups
object[]
required

The resource groups in the listing's collection, each grouping similar bookable units (for example, a cabana type). Empty for experience-based listings.

taxes
object[]
required

Taxes and fees applied to the listing's bookings. Empty for resource collections, where taxes are returned per resource.

vibes
object[]
required

Brand-defined vibe tags used to filter and merchandise listings on the storefront.

agenda
string | null

Agenda or schedule content shown on the listing page. Sourced from the listing's resource group collection; null for experience-based listings.

Example:

"<p>6:00 PM - Welcome reception</p><p>7:00 PM - Dinner service</p>"

providerBrandId
string<uuid> | null

For promoted (cross-brand) listings, the ID of the brand that owns and fulfills the listing. Null when the listing belongs to the serving brand itself.

Example:

"8b31c9de-4a67-4a0f-9c25-6f1e0b72d4c3"

cancellationPolicyId
string<uuid> | null

ID of the cancellation policy attached to the listing. Null when no cancellation policy is configured.

Example:

"5a2e7c19-83b4-4f60-9d02-cf1b6a84e957"

category
object | null

The brand-defined category the listing belongs to. Null when the listing is uncategorized.

currency
string | null

ISO 4217 currency code for the listing's monetary amounts. Null for resource collections, where currency is returned per resource.

Example:

"USD"

customCallToAction
string | null

Custom label for the listing's booking call-to-action button. Null when the storefront default is used.

Example:

"Reserve Now"

description
string | null

Full listing description shown on the listing page, as HTML.

Example:

"<p>Set sail along the coast at golden hour - a two-hour cruise with drinks and canapés included.</p>"

displayCapacity
number | null

Display-only capacity shown to guests (for example, how many people a resource accommodates). Does not affect booking limits.

Example:

8

experienceId
string<uuid> | null

ID of the experience backing this listing. Present for experience-based listings; null for resource collections, where each resource has its own experience ID.

Example:

"c99f70ee-1c0e-4534-a31a-96d5d966cc4b"

healthAndSafety
string | null

Health and safety information shown to guests. May be empty; null for resource collections.

Example:

""

hostedBy
object | null

The host who leads the experience. Present only for host product-line listings; null otherwise.

limitedTime
object | null

Limited-time ticket sales window for the listing. Null when ticket sales are not time-restricted.

location
object | null

Where the listing takes place. Null when no location is set.

maximumAllowedToBook
number | null

Maximum number of participants allowed in a single booking. Null when not restricted; null for resource collections, where limits are returned per resource.

Example:

6

maxParticipantCount
number | null

Maximum total number of participants a session can hold. Null for resource collections, where capacity is returned per resource.

Example:

10

menu
string | null

Menu content shown on the listing page. Sourced from the listing's resource group collection; null for experience-based listings.

Example:

"<p>Three-course tasting menu with seasonal ingredients.</p>"

minimumRequiredToBook
number | null

Minimum number of participants required in a single booking. Null when not restricted; null for resource collections, where limits are returned per resource.

Required range: x >= 0
Example:

2

partySize
number | null

Maximum number of participants a single party can include in one booking. Never exceeds maxParticipantCount; null when not restricted.

Example:

4

paymentMethods
enum<string>[] | null

Payment methods accepted at checkout for this listing, such as credit-card, room-charge, or member-number. Empty for resource collections, where payment methods are returned per resource.

Available options:
credit-card,
room-charge,
member-number,
loyalty,
kicc,
cash,
pay-later,
pay-upon-arrival
reschedulePolicyId
string<uuid> | null

ID of the reschedule policy attached to the listing. Null when no reschedule policy is configured.

Example:

"b6f04d2a-91c7-4e35-8d6b-07a3c5e18f29"

resourceGroupCollectionId
string<uuid> | null

ID of the resource group collection backing this listing. Present only for resource collections; null for experience-based listings.

Example:

"2f7d81c4-a9b3-4e06-b8d1-53c60e9a742f"

slug
string | null

URL-friendly identifier derived from the listing's title, used to build storefront listing URLs.

Example:

"sunset-sailing-tour-a54f004c"

startingPrice
number | null

Lowest price the listing can be booked for, in the brand's currency. Typically shown as the "from" price.

Example:

100

summary
string | null

Short plain-text summary of the listing, used on cards and previews.

Example:

"A two-hour coastal cruise with drinks at golden hour."

title
string | null

The listing's display title.

Example:

"Sunset Sailing Tour"

integrationMeta
object[] | null

Integration-specific metadata entries that map the listing's experience to external systems such as a PMS, POS, or analytics provider. Null for resource collections, where metadata is returned per resource group and resource.

shouldValidateComplimentaryBooking
object | null

Controls whether complimentary (no-charge) bookings paid via room charge or member charge are validated against the brand's property management or membership system. Null for resource collections, where the setting is returned per resource.

waitlistId
string<uuid> | null

ID of the waitlist configured for the listing's resource group collection. Present only for resource collections; null when no waitlist is configured.

Example:

"4d8a6b2e-1f93-4c07-ae5d-b7204c9e83f1"