> ## Documentation Index
> Fetch the complete documentation index at: https://docs.way.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Get waitlist entry

> Returns the state of a waitlist entry that received a booking invitation.



## OpenAPI

````yaml get /v1/brands/{brandId}/waitlist-invitation-offered/{waitlistEntryId}
openapi: 3.0.0
info:
  title: Way Partner API
  description: >-
    REST API for Way partners: list experiences, check availability, run
    checkout, and manage bookings.
  version: '1.0'
servers:
  - url: https://api.letsway.com
    description: Production.
  - url: https://api.staging.letsway.com
    description: Staging.
security: []
tags:
  - name: Listings
    description: 'Retrieve the listings a brand offers: experiences, events, and resources.'
  - name: Availability
    description: Dates, sessions, and price tiers for scheduling a booking.
  - name: Carts & Checkout
    description: >-
      Payment intents and booking creation. The cart ID is a client-generated
      UUID; there is no create-cart endpoint.
  - name: Bookings
    description: Retrieve, cancel, and reschedule bookings.
  - name: Experiences
    description: Experience details, settings, custom questions, reviews, and hosts.
  - name: Brand Configuration
    description: Brand settings, taxonomy, terms, and promotion code validation.
  - name: Waitlists
    description: Waitlists for sold-out sessions and invitation handling.
  - name: Integrations
    description: Configured integrations, analytics, and room-charge validation.
  - name: Organizations
    description: Organization-level access across brands.
paths:
  /v1/brands/{brandId}/waitlist-invitation-offered/{waitlistEntryId}:
    get:
      tags:
        - Waitlists
      summary: Get waitlist entry
      description: >-
        Returns the state of a waitlist entry that received a booking
        invitation.
      operationId: WaitlistPublicController_getWaitlistEntries
      parameters:
        - $ref: '#/components/parameters/brandIdPath_69'
        - $ref: '#/components/parameters/waitlistEntryIdPath'
      responses:
        '200':
          description: Get waitlist entry.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicGetWaitlistEntryResponse'
      security:
        - Brand-API-Key: []
        - Organization-API-Key: []
components:
  parameters:
    brandIdPath_69:
      name: brandId
      in: path
      schema:
        type: string
      required: true
      description: >-
        The brand's ID - must match the brand your API key identifies (or the
        Way-Brand-Id header when one is sent).
    waitlistEntryIdPath:
      name: waitlistEntryId
      in: path
      schema:
        type: string
      required: true
      description: >-
        A waitlist entry ID - sessions tied to this invitation are marked
        accordingly in the response.
  schemas:
    PublicGetWaitlistEntryResponse:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the waitlist entry.
          example: e3b1c9a7-2d4f-46b8-9c0a-1f2e3d4c5b6a
        status:
          type: string
          enum:
            - removed
            - waiting
            - offered
            - accepted
            - declined
            - expired
            - opening-available
          description: >-
            State of the waitlist entry: waiting (in line), opening-available
            (capacity has opened but no invitation has been sent yet), offered
            (the guest holds a time-boxed booking invitation), accepted,
            declined, expired (the invitation lapsed), or removed. This endpoint
            only returns entries with an active offer.
          example: offered
        resourceGroupCollectionId:
          type: string
          format: uuid
          description: >-
            Identifier of the resource group collection (the bookable set of
            resources, such as a group of cabanas) the waitlist belongs to.
          example: 9d8c7b6a-5e4f-4321-8765-43210fedcba9
        listingId:
          type: string
          format: uuid
          nullable: true
          description: >-
            Identifier of the listing that sells the resource group collection.
            Null when the collection has no listing.
          example: d9fa9229-9132-415d-bc04-513062ee3bcd
        startDate:
          type: string
          pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
          description: >-
            Date of the session the guest is waitlisted for, in YYYY-MM-DD
            format.
          example: '2026-07-18'
        startTime:
          type: string
          pattern: ^([0-1]\d|2[0-3])(?::([0-5]\d)){1,2}$
          description: >-
            Start time of the session the guest is waitlisted for, in the
            property's local time (HH:mm or HH:mm:ss).
          example: '10:00'
        sessionDuration:
          type: number
          description: Length of the requested session in minutes.
          example: 60
        participants:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: Unique identifier of the participant.
                example: 019f5ca1-5432-751e-8663-7c22693a6e7e
              firstName:
                type: string
                description: Participant's first name.
                example: Alice
              lastName:
                type: string
                description: Participant's last name.
                example: Rivera
              emailAddress:
                type: string
                pattern: >-
                  ^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$
                nullable: true
                description: Participant's email address. Null when not collected.
                example: alice@example.com
              phoneNumber:
                type: string
                nullable: true
                description: Participant's phone number. Null when not collected.
                example: '+15550100'
              priceTierName:
                type: string
                nullable: true
                description: >-
                  Name of the price tier requested for the participant. May be
                  null.
                example: Adult
              cancelledAt:
                type: string
                format: date-time
                nullable: true
                description: >-
                  ISO 8601 timestamp when the participant was cancelled. Null
                  while the participant is still active on the entry.
                example: '2026-07-13T17:59:57.430Z'
              customQuestionAnswers:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: Unique identifier of the recorded answer.
                      example: 7d1f4a2e-3b6c-4c8d-9e0f-1a2b3c4d5e6f
                    answer:
                      type: array
                      items:
                        type: object
                        properties:
                          value:
                            oneOf:
                              - type: string
                              - type: array
                                items:
                                  type: string
                              - type: boolean
                            nullable: true
                            description: >-
                              The answer content: free text for input and
                              textarea questions, the chosen option's label for
                              select questions, or a boolean for
                              terms-and-conditions acceptance. Null when no
                              answer was given.
                          key:
                            type: string
                            nullable: true
                            description: >-
                              For select-type questions, the UUID of the chosen
                              option (matches question.options[].key). Null or
                              omitted for other field types.
                            example: f0e1d2c3-b4a5-4968-8776-655443322110
                        required:
                          - value
                      description: >-
                        The submitted answer values. Select-type questions can
                        contain multiple entries; text and terms questions
                        contain one.
                    question:
                      type: object
                      properties:
                        customQuestionId:
                          type: string
                          description: >-
                            Identifier of the underlying custom question
                            definition.
                          example: b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                        prompt:
                          type: string
                          description: The question text shown to the guest.
                          example: Do you have any dietary restrictions?
                        fieldType:
                          type: string
                          enum:
                            - input
                            - textarea
                            - multiple_select
                            - single_select
                            - terms_and_conditions
                          description: >-
                            Input control used to collect the answer: free text
                            (input, textarea), option selection (single_select,
                            multiple_select), or a terms-and-conditions
                            acceptance checkbox.
                          example: single_select
                        options:
                          type: array
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                format: uuid
                                description: >-
                                  UUID that uniquely identifies the option;
                                  referenced by answer[].key and by
                                  conditional-display rules.
                                example: f0e1d2c3-b4a5-4968-8776-655443322110
                              value:
                                type: string
                                description: >-
                                  Display label of the option shown to the
                                  guest.
                                example: Vegetarian
                            required:
                              - key
                              - value
                          nullable: true
                          description: >-
                            Available choices for single_select and
                            multiple_select questions. Null for other field
                            types.
                        termsAndConditions:
                          type: object
                          properties:
                            label:
                              type: string
                              description: Label displayed next to the acceptance checkbox.
                              example: I agree to the spa terms and conditions
                            mediaId:
                              type: string
                              description: >-
                                Identifier of the uploaded terms-and-conditions
                                document.
                              example: 8c7b6a5d-4e3f-4210-9876-543210fedcba
                            isOverrided:
                              type: boolean
                            mediaUrl:
                              type: string
                              description: >-
                                URL where the terms-and-conditions document can
                                be viewed. May be omitted.
                              example: >-
                                https://cdn.letsway.com/media/spa-terms-and-conditions.pdf
                          required:
                            - label
                            - mediaId
                            - isOverrided
                          nullable: true
                          description: >-
                            Terms-and-conditions details for
                            terms_and_conditions questions. Null for other field
                            types.
                        config:
                          type: object
                          properties:
                            experienceId:
                              type: string
                              description: >-
                                Identifier of the experience the question is
                                attached to.
                              example: c99f70ee-1c0e-4534-a31a-96d5d966cc4b
                            experienceQuestionId:
                              type: string
                              description: >-
                                Identifier of this question's assignment to the
                                experience (the per-experience question
                                instance).
                              example: 5a4b3c2d-1e0f-4987-a654-321098765432
                            isRequired:
                              type: boolean
                              description: >-
                                Whether the guest must answer the question to
                                complete checkout.
                              example: true
                            isActive:
                              type: boolean
                              description: >-
                                Whether the question is currently active on the
                                experience.
                              example: true
                            order:
                              type: number
                              description: >-
                                Display position of the question relative to the
                                experience's other questions.
                              example: 1
                            scope:
                              type: string
                              enum:
                                - purchaser
                                - participant
                              description: >-
                                Whether the question is asked once of the
                                purchaser or of each participant.
                              example: participant
                            conditions:
                              type: array
                              items:
                                type: object
                                properties:
                                  rule:
                                    type: string
                                    enum:
                                      - value_matches
                                    description: >-
                                      Condition operator. value_matches shows
                                      this question when the answer to the
                                      question identified by conditionKey
                                      includes the option identified by
                                      conditionValue.
                                    example: value_matches
                                  conditionKey:
                                    type: string
                                    format: uuid
                                    description: >-
                                      Identifier of the parent question whose
                                      answer is evaluated.
                                    example: b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                                  conditionValue:
                                    type: string
                                    format: uuid
                                    description: >-
                                      Option key on the parent question that
                                      must be selected for this question to be
                                      shown.
                                    example: f0e1d2c3-b4a5-4968-8776-655443322110
                                required:
                                  - rule
                                  - conditionKey
                                  - conditionValue
                              nullable: true
                              description: >-
                                Conditional-display rules: the question is only
                                shown when the guest's answer to another
                                question matches. Null when the question is
                                always shown.
                            conditionsMatchType:
                              type: string
                              enum:
                                - any
                                - all
                              nullable: true
                              description: >-
                                Whether any or all of the conditions must match
                                for the question to be shown. Null when there
                                are no conditions.
                              example: any
                          required:
                            - experienceId
                            - experienceQuestionId
                            - isRequired
                            - isActive
                            - order
                            - scope
                            - conditions
                            - conditionsMatchType
                          description: >-
                            How the question is applied to the experience it was
                            asked on.
                      required:
                        - customQuestionId
                        - prompt
                        - fieldType
                        - options
                        - termsAndConditions
                        - config
                      description: >-
                        Snapshot of the custom question as configured when the
                        answer was collected.
                  required:
                    - id
                    - answer
                    - question
                description: >-
                  The participant's answers to the experience's custom
                  questions. Omitted when the experience has no
                  participant-scoped questions.
            required:
              - id
              - firstName
              - lastName
              - cancelledAt
          description: >-
            Guests included in the waitlist entry. They become the booking's
            participants if the invitation is accepted.
        purchaser:
          type: object
          properties:
            id:
              type: string
              format: uuid
              description: Unique identifier of the purchaser.
              example: 019f5ca1-5432-751e-8663-7b999f0f7ede
            firstName:
              type: string
              description: Purchaser's first name.
              example: Alice
            lastName:
              type: string
              description: Purchaser's last name.
              example: Rivera
            emailAddress:
              type: string
              pattern: >-
                ^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$
              nullable: true
              description: Purchaser's email address, where the booking invitation is sent.
              example: alice@example.com
            phoneNumber:
              type: string
              nullable: true
              description: Purchaser's phone number. Null when not provided.
              example: '+15550100'
            customQuestionAnswers:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique identifier of the recorded answer.
                    example: 7d1f4a2e-3b6c-4c8d-9e0f-1a2b3c4d5e6f
                  answer:
                    type: array
                    items:
                      type: object
                      properties:
                        value:
                          oneOf:
                            - type: string
                            - type: array
                              items:
                                type: string
                            - type: boolean
                          nullable: true
                          description: >-
                            The answer content: free text for input and textarea
                            questions, the chosen option's label for select
                            questions, or a boolean for terms-and-conditions
                            acceptance. Null when no answer was given.
                        key:
                          type: string
                          nullable: true
                          description: >-
                            For select-type questions, the UUID of the chosen
                            option (matches question.options[].key). Null or
                            omitted for other field types.
                          example: f0e1d2c3-b4a5-4968-8776-655443322110
                      required:
                        - value
                    description: >-
                      The submitted answer values. Select-type questions can
                      contain multiple entries; text and terms questions contain
                      one.
                  question:
                    type: object
                    properties:
                      customQuestionId:
                        type: string
                        description: >-
                          Identifier of the underlying custom question
                          definition.
                        example: b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                      prompt:
                        type: string
                        description: The question text shown to the guest.
                        example: Do you have any dietary restrictions?
                      fieldType:
                        type: string
                        enum:
                          - input
                          - textarea
                          - multiple_select
                          - single_select
                          - terms_and_conditions
                        description: >-
                          Input control used to collect the answer: free text
                          (input, textarea), option selection (single_select,
                          multiple_select), or a terms-and-conditions acceptance
                          checkbox.
                        example: single_select
                      options:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                              format: uuid
                              description: >-
                                UUID that uniquely identifies the option;
                                referenced by answer[].key and by
                                conditional-display rules.
                              example: f0e1d2c3-b4a5-4968-8776-655443322110
                            value:
                              type: string
                              description: Display label of the option shown to the guest.
                              example: Vegetarian
                          required:
                            - key
                            - value
                        nullable: true
                        description: >-
                          Available choices for single_select and
                          multiple_select questions. Null for other field types.
                      termsAndConditions:
                        type: object
                        properties:
                          label:
                            type: string
                            description: Label displayed next to the acceptance checkbox.
                            example: I agree to the spa terms and conditions
                          mediaId:
                            type: string
                            description: >-
                              Identifier of the uploaded terms-and-conditions
                              document.
                            example: 8c7b6a5d-4e3f-4210-9876-543210fedcba
                          isOverrided:
                            type: boolean
                          mediaUrl:
                            type: string
                            description: >-
                              URL where the terms-and-conditions document can be
                              viewed. May be omitted.
                            example: >-
                              https://cdn.letsway.com/media/spa-terms-and-conditions.pdf
                        required:
                          - label
                          - mediaId
                          - isOverrided
                        nullable: true
                        description: >-
                          Terms-and-conditions details for terms_and_conditions
                          questions. Null for other field types.
                      config:
                        type: object
                        properties:
                          experienceId:
                            type: string
                            description: >-
                              Identifier of the experience the question is
                              attached to.
                            example: c99f70ee-1c0e-4534-a31a-96d5d966cc4b
                          experienceQuestionId:
                            type: string
                            description: >-
                              Identifier of this question's assignment to the
                              experience (the per-experience question instance).
                            example: 5a4b3c2d-1e0f-4987-a654-321098765432
                          isRequired:
                            type: boolean
                            description: >-
                              Whether the guest must answer the question to
                              complete checkout.
                            example: true
                          isActive:
                            type: boolean
                            description: >-
                              Whether the question is currently active on the
                              experience.
                            example: true
                          order:
                            type: number
                            description: >-
                              Display position of the question relative to the
                              experience's other questions.
                            example: 1
                          scope:
                            type: string
                            enum:
                              - purchaser
                              - participant
                            description: >-
                              Whether the question is asked once of the
                              purchaser or of each participant.
                            example: purchaser
                          conditions:
                            type: array
                            items:
                              type: object
                              properties:
                                rule:
                                  type: string
                                  enum:
                                    - value_matches
                                  description: >-
                                    Condition operator. value_matches shows this
                                    question when the answer to the question
                                    identified by conditionKey includes the
                                    option identified by conditionValue.
                                  example: value_matches
                                conditionKey:
                                  type: string
                                  format: uuid
                                  description: >-
                                    Identifier of the parent question whose
                                    answer is evaluated.
                                  example: b2a1c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d
                                conditionValue:
                                  type: string
                                  format: uuid
                                  description: >-
                                    Option key on the parent question that must
                                    be selected for this question to be shown.
                                  example: f0e1d2c3-b4a5-4968-8776-655443322110
                              required:
                                - rule
                                - conditionKey
                                - conditionValue
                            nullable: true
                            description: >-
                              Conditional-display rules: the question is only
                              shown when the guest's answer to another question
                              matches. Null when the question is always shown.
                          conditionsMatchType:
                            type: string
                            enum:
                              - any
                              - all
                            nullable: true
                            description: >-
                              Whether any or all of the conditions must match
                              for the question to be shown. Null when there are
                              no conditions.
                            example: any
                        required:
                          - experienceId
                          - experienceQuestionId
                          - isRequired
                          - isActive
                          - order
                          - scope
                          - conditions
                          - conditionsMatchType
                        description: >-
                          How the question is applied to the experience it was
                          asked on.
                    required:
                      - customQuestionId
                      - prompt
                      - fieldType
                      - options
                      - termsAndConditions
                      - config
                    description: >-
                      Snapshot of the custom question as configured when the
                      answer was collected.
                required:
                  - id
                  - answer
                  - question
              description: >-
                The purchaser's answers to the experience's custom questions.
                Omitted when the experience has no purchaser-scoped questions.
          required:
            - id
            - firstName
            - lastName
          description: >-
            The guest who joined the waitlist and receives the booking
            invitation.
        expiresAt:
          type: string
          format: date-time
          nullable: true
          description: >-
            ISO 8601 timestamp when the booking invitation expires. Once passed,
            the entry can no longer be claimed and this endpoint returns 410
            Gone.
          example: '2026-07-15T18:00:00.000Z'
      required:
        - id
        - status
        - resourceGroupCollectionId
        - listingId
        - startDate
        - startTime
        - sessionDuration
        - participants
        - purchaser
        - expiresAt
  securitySchemes:
    Brand-API-Key:
      type: http
      scheme: bearer
      description: >-
        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](/legacy-authentication).
    Organization-API-Key:
      type: http
      scheme: bearer
      description: >-
        Your organization's secret API key, e.g. `Bearer
        way_sk_live_ohEqcn0i1fRoUEHBPjJkQA`. Older `Way-Organization-Id` +
        `Way-Secret-Key` credentials still work: see [Legacy
        authentication](/legacy-authentication).

````