> ## 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 bookings

> Returns the brand's (or organization's) bookings with filters for date ranges, experience, cart, confirmation codes, and purchaser details, plus pagination and sorting.



## OpenAPI

````yaml get /v1/bookings
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/bookings:
    get:
      tags:
        - Bookings
      summary: Get bookings
      description: >-
        Returns the brand's (or organization's) bookings with filters for date
        ranges, experience, cart, confirmation codes, and purchaser details,
        plus pagination and sorting.
      operationId: BookingPublicKeyedController_getBookings
      parameters:
        - $ref: '#/components/parameters/bookingIdsQuery'
        - $ref: '#/components/parameters/cartConfirmationCodeQuery'
        - $ref: '#/components/parameters/cartIdQuery'
        - $ref: '#/components/parameters/confirmationCodeQuery'
        - $ref: '#/components/parameters/createdFromQuery'
        - $ref: '#/components/parameters/createdToQuery'
        - $ref: '#/components/parameters/excludeCancelledQuery'
        - $ref: '#/components/parameters/excludeFailedQuery'
        - $ref: '#/components/parameters/experienceIdQuery_31'
        - $ref: '#/components/parameters/filtersQuery_32'
        - $ref: '#/components/parameters/limitQuery_33'
        - $ref: '#/components/parameters/loyaltyProgramIdQuery'
        - $ref: '#/components/parameters/memberIdQuery'
        - $ref: '#/components/parameters/methodNumberQuery'
        - $ref: '#/components/parameters/organizationIdQuery'
        - $ref: '#/components/parameters/pageQuery_34'
        - $ref: '#/components/parameters/promotedQuery'
        - $ref: '#/components/parameters/purchaserEmailQuery'
        - $ref: '#/components/parameters/purchaserLastNameQuery'
        - $ref: '#/components/parameters/qQuery_35'
        - $ref: '#/components/parameters/resourceGroupCollectionIdQuery'
        - $ref: '#/components/parameters/sortByQuery_36'
        - $ref: '#/components/parameters/sortDirQuery_37'
        - $ref: '#/components/parameters/updatedFromQuery'
        - $ref: '#/components/parameters/updatedToQuery'
      responses:
        '200':
          description: Booking details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingPaginationDto'
              example:
                items:
                  - id: 019f5ca1-4dc1-775d-a40d-833f44bfccf4
                    confirmationCode: U7dSqlzCA
                    cartId: 1ccd47b4-8784-43a0-86a5-fc733265f3c4
                    cartConfirmationCode: 55xNJqU3Q
                    amount: 100
                    currency: USD
                    amountRefunded: 0
                    amountVoided: 0
                    event:
                      timezone: America/Chicago
                      startDateTime: '2026-07-14T10:00:00'
                    experience:
                      id: c99f70ee-1c0e-4534-a31a-96d5d966cc4b
                      title: Sunset Sailing Tour
                    listing:
                      id: d9fa9229-9132-415d-bc04-513062ee3bcd
                    resourceGroupCollection: null
                    resourceGroup: null
                    status: confirmed
                    purchaser:
                      id: 019f5ca1-5432-751e-8663-7b999f0f7ede
                      firstName: Alice
                      lastName: Rivera
                      emailAddress: alice@example.com
                      phoneNumber: '+15550100'
                    participants:
                      - id: 019f5ca1-5432-751e-8663-7c22693a6e7e
                        firstName: Alice
                        lastName: Rivera
                        emailAddress: null
                        phoneNumber: null
                        priceTierName: Participant
                        cancelledAt: null
                    paymentMethod: cash
                    paymentDetail: {}
                    createdAt: '2026-07-13T17:58:23.757Z'
                    notes: null
                    internalNotes: null
                    addOns: []
                meta:
                  totalItems: 1
                  itemCount: 1
                  itemsPerPage: 15
                  totalPages: 1
                  currentPage: 1
                links:
                  first: /v1/bookings?cartConfirmationCode=55xNJqU3Q&limit=15
                  previous: ''
                  next: ''
                  last: /v1/bookings?cartConfirmationCode=55xNJqU3Q&page=1&limit=15
      security:
        - Brand-API-Key: []
        - Organization-API-Key: []
components:
  parameters:
    bookingIdsQuery:
      name: bookingIds
      in: query
      schema:
        type: array
        items:
          type: string
        minItems: 1
      description: Only these bookings, by ID.
      required: false
    cartConfirmationCodeQuery:
      name: cartConfirmationCode
      in: query
      schema:
        type: string
      example: 55xNJqU3Q
      description: >-
        Only bookings from the cart with this confirmation code - the code
        returned by the book-bulk call.
      required: false
    cartIdQuery:
      name: cartId
      in: query
      schema:
        type: string
        format: uuid
      description: Only bookings created from this cart.
      example: c4a1b2c3-d4e5-4f6a-8b9c-0d1e2f3a4b5c
      required: false
    confirmationCodeQuery:
      name: confirmationCode
      in: query
      schema:
        type: string
      description: The booking's own confirmation code - the code the guest sees.
      example: U7dSqlzCA
      required: false
    createdFromQuery:
      name: createdFrom
      in: query
      schema:
        type: string
        pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
      description: Only bookings created at or after this date-time.
      example: '2026-07-01T00:00:00Z'
      required: false
    createdToQuery:
      name: createdTo
      in: query
      schema:
        type: string
        pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
      description: Only bookings created at or before this date-time.
      required: false
    excludeCancelledQuery:
      name: excludeCancelled
      in: query
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
      description: Set to `true` to omit cancelled bookings.
      required: false
    excludeFailedQuery:
      name: excludeFailed
      in: query
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
      description: Set to `true` to omit failed bookings.
      required: false
    experienceIdQuery_31:
      name: experienceId
      in: query
      schema:
        type: string
        format: uuid
      description: Only results for this experience.
      example: c99f70ee-1c0e-4534-a31a-96d5d966cc4b
      required: false
    filtersQuery_32:
      name: filters
      in: query
      schema:
        type: array
        items: {}
      description: >-
        Structured filters, e.g.
        `filters[0][name]=experienceDateRange&filters[0][operator]=range&filters[0][value][from]=2026-08-15&filters[0][value][to]=2026-08-16`.
      required: false
    limitQuery_33:
      name: limit
      in: query
      schema:
        minimum: 0
        default: 10
        type: number
      example: 10
      description: Number of items per page.
      required: false
    loyaltyProgramIdQuery:
      name: loyaltyProgramId
      in: query
      schema:
        type: string
      description: Only bookings linked to this loyalty program.
      required: false
    memberIdQuery:
      name: memberId
      in: query
      schema:
        type: string
      description: Only bookings made by this loyalty-program member.
      required: false
    methodNumberQuery:
      name: methodNumber
      in: query
      schema:
        type: string
      description: Only bookings paid with this room or member number.
      required: false
    organizationIdQuery:
      name: organizationId
      in: query
      schema:
        type: string
        format: uuid
      description: Only bookings belonging to this organization.
      required: false
    pageQuery_34:
      name: page
      in: query
      schema:
        minimum: 1
        default: 1
        type: number
      example: 1
      description: Page number to return, starting at 1.
      required: false
    promotedQuery:
      name: promoted
      in: query
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
      description: >-
        Set to `true` to return only bookings of listings promoted from other
        brands.
      required: false
    purchaserEmailQuery:
      name: purchaserEmail
      in: query
      schema:
        type: string
      description: Only bookings purchased with this email address.
      example: alice@example.com
      required: false
    purchaserLastNameQuery:
      name: purchaserLastName
      in: query
      schema:
        type: string
      description: Only bookings whose purchaser has this last name.
      example: Rivera
      required: false
    qQuery_35:
      name: q
      in: query
      schema:
        type: string
      description: Free-text search over the listings' titles and descriptions.
      example: sailing
      required: false
    resourceGroupCollectionIdQuery:
      name: resourceGroupCollectionId
      in: query
      schema:
        type: string
        format: uuid
      description: Scope results to a resource-group collection.
      required: false
    sortByQuery_36:
      name: sortBy
      in: query
      schema:
        type: string
        enum:
          - purchaser
          - experience
          - dateBooked
          - amount
          - status
          - brand
          - sessionDate
      description: Field to sort the results by.
      required: false
    sortDirQuery_37:
      name: sortDir
      in: query
      schema:
        type: string
        enum:
          - ASC
          - DESC
      description: Sort direction.
      required: false
    updatedFromQuery:
      name: updatedFrom
      in: query
      schema:
        type: string
        pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
      description: >-
        Only bookings updated at or after this date-time - the workhorse filter
        for reconciliation jobs.
      example: '2026-07-14T00:00:00Z'
      required: false
    updatedToQuery:
      name: updatedTo
      in: query
      schema:
        type: string
        pattern: ^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$
      description: Only bookings updated at or before this date-time.
      required: false
  schemas:
    BookingPaginationDto:
      type: object
      properties:
        items:
          description: List of experiences.
          type: array
          items:
            $ref: '#/components/schemas/BookingDetailDto'
        links:
          description: Pagination links.
          allOf:
            - $ref: '#/components/schemas/PaginationLinksDto'
      required:
        - items
        - links
    BookingDetailDto:
      type: object
      properties:
        id:
          type: string
          description: Booking ID.
          example: booking-123
        eventId:
          type: string
          description: Event ID.
          example: event-456
        amount:
          type: number
          description: Total booking amount.
          example: 250
        experiencePaidAmount:
          type: number
          description: Amount paid for experience.
          example: 200
        experienceRefundedAmount:
          type: number
          description: Amount refunded for experience.
          example: 50
        currency:
          type: string
          description: Currency of the transaction.
          example: USD
        amountRefunded:
          type: number
          description: Total amount refunded.
          example: 50
        date:
          type: string
          description: Booking date in ISO format.
          example: '2024-03-15'
        confirmationCode:
          type: string
          description: Confirmation code for the booking.
          example: CONFIRM12345
        status:
          type: string
          description: Booking status.
          enum:
            - confirmed
            - refunded
            - processing
            - failed
            - cancelled
          example: confirmed
        sessionDate:
          type: string
          description: Session date in ISO format.
          example: '2024-03-20'
        sessionDuration:
          type: number
          description: Session duration in minutes.
          example: 90
        isCancelled:
          type: boolean
          description: Indicates if the booking was cancelled.
          example: false
        isPartiallyCancelled:
          type: boolean
          description: Indicates if the booking was partially cancelled.
          example: false
        createdAt:
          type: string
          description: Date when the booking was created.
          example: '2024-03-10T12:00:00Z'
        experience:
          description: Details of the booked experience.
          allOf:
            - $ref: '#/components/schemas/ExperienceDto'
        customer:
          description: Details of the customer.
          allOf:
            - $ref: '#/components/schemas/CustomerDto'
        purchaser:
          description: Details of the purchaser.
          allOf:
            - $ref: '#/components/schemas/PurchaserDto'
      required:
        - id
        - eventId
        - amount
        - experiencePaidAmount
        - experienceRefundedAmount
        - currency
        - amountRefunded
        - date
        - confirmationCode
        - status
        - sessionDate
        - sessionDuration
        - isCancelled
        - isPartiallyCancelled
        - createdAt
        - experience
        - customer
        - purchaser
    PaginationLinksDto:
      type: object
      properties:
        first:
          type: string
          description: Link to the first page.
        previous:
          type: string
          description: Link to the previous page.
        next:
          type: string
          description: Link to the next page.
        last:
          type: string
          description: Link to the last page.
    ExperienceDto:
      type: object
      properties:
        id:
          type: string
          description: Experience ID.
          example: exp-123
        title:
          type: string
          description: Experience title.
          example: Luxury Yacht Tour
        hostName:
          type: string
          description: Host name.
          example: John Doe
        number:
          type: object
          description: Experience number.
          example: EXP001
          nullable: true
      required:
        - id
        - title
        - hostName
    CustomerDto:
      type: object
      properties:
        id:
          type: string
          description: Customer ID.
          example: customer-123
        name:
          type: string
          description: Customer name.
          example: Jane Doe
        emailAddress:
          type: string
          description: Customer email address.
          example: jane.doe@example.com
      required:
        - id
        - name
        - emailAddress
    PurchaserDto:
      type: object
      properties:
        id:
          type: string
          description: Purchaser ID.
          example: purchaser-456
        firstName:
          type: string
          description: Purchaser first name.
          example: Jane
        lastName:
          type: string
          description: Purchaser last name.
          example: Doe
        emailAddress:
          type: object
          description: Purchaser email address.
          example: jane.doe@example.com
          nullable: true
        phoneNumber:
          type: object
          description: Purchaser phone number.
          example: '+1234567890'
          nullable: true
      required:
        - id
        - firstName
        - lastName
  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).

````