> ## 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 brand-wide sessions for a date range

> Returns available dates across all of the brand's experiences within the date range.



## OpenAPI

````yaml get /v2/brands/{brandId}/sessions/{from}/{to}
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:
  /v2/brands/{brandId}/sessions/{from}/{to}:
    get:
      tags:
        - Availability
      summary: Get brand-wide sessions for a date range
      description: >-
        Returns available dates across all of the brand's experiences within the
        date range.
      operationId: SchedulingPublicController_getBrandAvailableDates
      parameters:
        - $ref: '#/components/parameters/brandIdPath'
        - $ref: '#/components/parameters/fromPath_23'
        - $ref: '#/components/parameters/toPath_24'
      responses:
        '200':
          description: Available dates for a brand.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailableDatesOfExperiencesDto'
              example:
                data:
                  sessions:
                    - experienceId: e7cea219-89a7-405c-b0f6-a5e23d43220b
                      hasPassed: false
                      startDateTime: 2026-07-15T09:00-05:00[America/Chicago]
                    - experienceId: e7cea219-89a7-405c-b0f6-a5e23d43220b
                      hasPassed: false
                      startDateTime: 2026-07-16T09:00-05:00[America/Chicago]
                  experiences:
                    - id: 9f868eae-3eaf-4079-999b-cb8a8aed4870
                      title: Guided Nature Hike
                      slug: guided-nature-hike-ce06e043
                      headline: sd sdfsdf
                      priceTiers:
                        - id: 52907d2b-f654-4bbb-b63a-f0cbc631da19
                          name: Participant
                          price: 85
                      maxParticipantsCount: 10
                      currency: USD
                      bookingAvailabilityMode:
                        value: group
                      isExclusive: false
                      isFeatured: false
                      isBookable: true
                      isUnlisted: false
                      type: recurring
                      coverPicture:
                        id: ba80f6bd-4643-4f0b-9e9d-34467098325b
                        mimeType: image/jpeg
                        uri:
                          original: >-
                            https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                      hidePrice: false
                      hostedBy:
                        id: c7c21aa6-110b-48d9-a970-47658473302a
                        firstName: Sam
                        lastName: ' '
                      category:
                        id: c80c38ad-7379-42b0-ae92-bc26de382a0b
                        name: Family
                      isNoHost: true
                  resourceGroupCollections:
                    - id: 260a3c73-30ae-478d-aa43-9b3946f87d21
                      order: 4
                      createdAt: '2025-08-11T22:17:33.118Z'
                      brandId: f2ce0a06-7997-4626-9532-65ac70f3a19c
                      version: published
                      publishedAt: '2025-08-11T22:22:07.682Z'
                      archivedAt: null
                      updatedAt: '2025-08-19T15:51:12.252Z'
                      details: <p>here we go</p>
                      agenda: null
                      reminders: null
                      menu: null
                      startTimes: null
                      dates: null
                      name: Cabana Row A
                      summary: A guided hike through the nature reserve.
                      isMapShown: true
                      status: published
                      locationId: 083bf331-77a3-4d0f-b53e-421dd9c19939
                      location:
                        id: 083bf331-77a3-4d0f-b53e-421dd9c19939
                        name: Austin, TX, USA
                        city: Austin
                        state: TX
                        country: United States
                        longitude: -97.7430608
                        latitude: 30.267153
                        timezoneId: America/Chicago
                        additionalInfo: null
                        createdAt: '2025-08-11T22:17:32.985Z'
                        updatedAt: '2025-08-11T22:17:32.985Z'
                      kind: reserve
                      eventType: null
                      category:
                        brandId: f2ce0a06-7997-4626-9532-65ac70f3a19c
                        id: 6b540a01-9aba-46d6-a02a-9191d008e081
                        name: Culinary
                        order: 3
                        createdAt: '2025-07-24T18:30:46.945Z'
                        updatedAt: '2025-07-24T18:30:46.945Z'
                        deletedAt: null
                      waitlistId: null
                      vibes:
                        - brandId: f2ce0a06-7997-4626-9532-65ac70f3a19c
                          id: da568b2b-24c4-4b4a-9ac5-7010986368d3
                          name: Summer
                          order: 2
                          createdAt: '2025-07-24T18:30:46.916Z'
                          updatedAt: '2025-07-24T18:30:46.916Z'
                          deletedAt: null
                        - brandId: f2ce0a06-7997-4626-9532-65ac70f3a19c
                          id: f047e2cb-1fb5-4374-8f3e-4bfcc6d7284e
                          name: Winter
                          order: 1
                          createdAt: '2025-07-24T18:30:46.916Z'
                          updatedAt: '2025-07-24T18:30:46.916Z'
                          deletedAt: null
                      pictures:
                        - id: 736e5bbb-5521-4ab7-bb2f-2c6eb3523970
                          kind: cover
                          uri:
                            original: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                        - id: ea649185-7804-41a3-921b-cafb6ac04bec
                          kind: map
                          uri:
                            original: >-
                              https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                      medias:
                        - id: 736e5bbb-5521-4ab7-bb2f-2c6eb3523970
                          type: image
                          kind: cover
                          altText: null
                          links:
                            - url: >-
                                https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                              type: image
                              resolution: original
                            - url: >-
                                https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                              type: image
                              resolution: '384'
                        - id: ea649185-7804-41a3-921b-cafb6ac04bec
                          type: image
                          kind: map
                          altText: null
                          links:
                            - url: >-
                                https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                              type: image
                              resolution: original
                            - url: >-
                                https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                              type: image
                              resolution: '384'
                      cancellationPolicyId: null
                      reschedulePolicyId: null
                      limitedTimeId: null
                      isUnlisted: false
                      map:
                        id: ea649185-7804-41a3-921b-cafb6ac04bec
                        mimeType: image/jpeg
                        uri:
                          original: >-
                            https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                      customCallToAction: null
                      resourceGroups:
                        - id: 5aded6fd-433e-4132-824e-e936f3943de2
                          resourceGroupCollectionId: 260a3c73-30ae-478d-aa43-9b3946f87d21
                          version: published
                          order: 2
                          createdAt: '2025-08-11T22:18:10.244Z'
                          description: >-
                            <p>A poolside daybed for two, towels and shade
                            included.</p>.
                          title: Daybed
                          included: []
                          updatedAt: '2025-08-11T22:18:10.244Z'
                          pictures:
                            - id: 9cad98f1-bd85-4e5f-84a3-097d667f983f
                              mimeType: image/jpeg
                              uri:
                                original: >-
                                  https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                          medias:
                            - id: 9cad98f1-bd85-4e5f-84a3-097d667f983f
                              type: image
                              kind: cover
                              altText: null
                              links:
                                - url: >-
                                    https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                                  type: image
                                  resolution: original
                                - url: >-
                                    https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                                  type: image
                                  resolution: '384'
                          numberPattern: numeric
                          defaultShape:
                            id: 2d189751-d7c3-4dd9-a768-9db1d6c334ae
                            type: circle
                            width: 50
                            height: 50
                            color: '#333333'
                            createdAt: '2025-08-11T22:18:19.078Z'
                            updatedAt: '2025-08-11T22:18:19.078Z'
                          experiences:
                            - id: 4374ddba-7741-48e3-aff5-1e7bc73c2bb0
                              title: 'Daybed #3'
                              description: ''
                              status: published
                              version: published
                              isUnlisted: false
                              displayedCapacity: 0
                              position:
                                x: 62
                                'y': 50
                              onlineBookingCutoffHours: 0
                              emailMessage: ''
                              notificationOverrides: {}
                              notificationEmails: []
                              paymentMethods:
                                - credit-card
                              kind: resource
                              shouldValidateComplimentaryBooking: {}
                              integrationMeta: []
                              sessionDurationMinutes: 60
                              taxes: []
                              type: recurring
                              maximumAllowedToBook: null
                              minimumRequiredToBook: null
                              maxParticipantsCount: 1
                              bookingAvailabilityMode: group
                              isTicketed: false
                              cancellationPolicyId: null
                              reschedulePolicyId: null
                              limitedTimeId: null
                              shape:
                                type: circle
                                width: 50
                                height: 50
                                color: '#333333'
                              customQuestions:
                                - id: ddb4f83c-5d13-40bb-bad1-8c34c6abdc71
                                  prompt: Short text
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: false
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 10
                                    isDefault: false
                                - id: emailAddress
                                  prompt: Email
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: true
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 0
                                    isDefault: true
                                    disabled: true
                              priceTiers:
                                - id: d43c67ce-752d-440a-8ecf-9faf6ddf6e5a
                                  name: Daybed
                                  price: 400
                              priceTierRules: []
                              number: '#3'
                            - id: 958ac567-03ac-46b2-b010-96c932890a9b
                              title: 'Daybed #4'
                              description: ''
                              status: published
                              version: published
                              isUnlisted: false
                              displayedCapacity: 0
                              position:
                                x: 82
                                'y': 50
                              onlineBookingCutoffHours: 0
                              emailMessage: ''
                              notificationOverrides: {}
                              notificationEmails: []
                              paymentMethods:
                                - credit-card
                              kind: resource
                              shouldValidateComplimentaryBooking: {}
                              integrationMeta: []
                              sessionDurationMinutes: 60
                              taxes: []
                              type: recurring
                              maximumAllowedToBook: null
                              minimumRequiredToBook: null
                              maxParticipantsCount: 1
                              bookingAvailabilityMode: group
                              isTicketed: false
                              cancellationPolicyId: null
                              reschedulePolicyId: null
                              limitedTimeId: null
                              shape:
                                type: circle
                                width: 50
                                height: 50
                                color: '#333333'
                              customQuestions:
                                - id: ddb4f83c-5d13-40bb-bad1-8c34c6abdc71
                                  prompt: Short text
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: false
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 10
                                    isDefault: false
                                - id: emailAddress
                                  prompt: Email
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: true
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 0
                                    isDefault: true
                                    disabled: true
                              priceTiers:
                                - id: d43c67ce-752d-440a-8ecf-9faf6ddf6e5a
                                  name: Daybed
                                  price: 400
                              priceTierRules: []
                              number: '#4'
                          defaultPriceTiers:
                            - id: d43c67ce-752d-440a-8ecf-9faf6ddf6e5a
                              name: Daybed
                              price: 400
                          taxes: []
                          paymentMethods:
                            - credit-card
                          integrationMeta: []
                          minimumRequiredToBook: null
                          maximumAllowedToBook: null
                          providedItems: []
                          reminder: ''
                          ratings:
                            rating: null
                            recommendability: null
                            total: 0
                          isExclusive: false
                        - id: 83e8b537-b3ce-4e91-8632-b4ed6f581cb3
                          resourceGroupCollectionId: 260a3c73-30ae-478d-aa43-9b3946f87d21
                          version: published
                          order: 1
                          createdAt: '2025-08-11T22:17:47.382Z'
                          description: >-
                            <p>A private poolside cabana for up to six guests
                            with dedicated service.</p>.
                          title: Cabana
                          included: []
                          updatedAt: '2025-08-11T22:17:47.382Z'
                          pictures:
                            - id: 21e1a7d8-7639-4be2-adf1-c5c3d1c9b8b0
                              mimeType: image/png
                              uri:
                                original: >-
                                  https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                          medias:
                            - id: 21e1a7d8-7639-4be2-adf1-c5c3d1c9b8b0
                              type: image
                              kind: cover
                              altText: null
                              links:
                                - url: >-
                                    https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                                  type: image
                                  resolution: original
                                - url: >-
                                    https://images.letsway.com/staging/tr:w-original/https://storage.googleapis.com/kouto-api-media/2026/6/accbde4c0064e535c67fd874a3b95d235d72465ed862dca1.jpg
                                  type: image
                                  resolution: '384'
                          numberPattern: numeric
                          defaultShape:
                            id: 0daa076f-7f07-40f0-8f73-9d3b2a73e9e5
                            type: circle
                            width: 50
                            height: 50
                            color: '#957A46'
                            createdAt: '2025-08-11T22:17:58.593Z'
                            updatedAt: '2025-08-11T22:17:58.593Z'
                          experiences:
                            - id: ff2c6d9c-202b-4b1a-8496-36b1709fd9f1
                              title: 'Cabana #3'
                              description: ''
                              status: published
                              version: published
                              isUnlisted: false
                              displayedCapacity: 0
                              position:
                                x: 60
                                'y': 48
                              onlineBookingCutoffHours: 0
                              emailMessage: ''
                              notificationOverrides: {}
                              notificationEmails: []
                              paymentMethods:
                                - credit-card
                              kind: resource
                              shouldValidateComplimentaryBooking: {}
                              integrationMeta: []
                              sessionDurationMinutes: 60
                              taxes: []
                              type: recurring
                              maximumAllowedToBook: null
                              minimumRequiredToBook: null
                              maxParticipantsCount: 1
                              bookingAvailabilityMode: group
                              isTicketed: false
                              cancellationPolicyId: null
                              reschedulePolicyId: null
                              limitedTimeId: null
                              shape:
                                type: circle
                                width: 50
                                height: 50
                                color: '#957A46'
                              customQuestions:
                                - id: 403def2e-9bcb-42e9-afbc-dd0e5010ad39
                                  prompt: Short Answer
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: false
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 10
                                    isDefault: false
                                - id: emailAddress
                                  prompt: Email
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: true
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 0
                                    isDefault: true
                                    disabled: true
                              priceTiers:
                                - id: 0c60ae33-46e9-40e0-bb4a-b21c14d93baf
                                  name: Cabana
                                  price: 100
                              priceTierRules: []
                              number: '#3'
                            - id: ba8183b0-b3ab-47cc-8d72-dc60ef08dee1
                              title: 'Cabana #4'
                              description: ''
                              status: published
                              version: published
                              isUnlisted: false
                              displayedCapacity: 0
                              position:
                                x: 80
                                'y': 48
                              onlineBookingCutoffHours: 0
                              emailMessage: ''
                              notificationOverrides: {}
                              notificationEmails: []
                              paymentMethods:
                                - credit-card
                              kind: resource
                              shouldValidateComplimentaryBooking: {}
                              integrationMeta: []
                              sessionDurationMinutes: 60
                              taxes: []
                              type: recurring
                              maximumAllowedToBook: null
                              minimumRequiredToBook: null
                              maxParticipantsCount: 1
                              bookingAvailabilityMode: group
                              isTicketed: false
                              cancellationPolicyId: null
                              reschedulePolicyId: null
                              limitedTimeId: null
                              shape:
                                type: circle
                                width: 50
                                height: 50
                                color: '#957A46'
                              customQuestions:
                                - id: 403def2e-9bcb-42e9-afbc-dd0e5010ad39
                                  prompt: Short Answer
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: false
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 10
                                    isDefault: false
                                - id: emailAddress
                                  prompt: Email
                                  fieldType: input
                                  options: null
                                  termsAndConditions: null
                                  config:
                                    isRequired: true
                                    scope: purchaser
                                    conditionsMatchType: null
                                    isActive: true
                                    conditions: null
                                    order: 0
                                    isDefault: true
                                    disabled: true
                              priceTiers:
                                - id: 0c60ae33-46e9-40e0-bb4a-b21c14d93baf
                                  name: Cabana
                                  price: 100
                              priceTierRules: []
                              number: '#4'
                          defaultPriceTiers:
                            - id: 0c60ae33-46e9-40e0-bb4a-b21c14d93baf
                              name: Cabana
                              price: 100
                          taxes: []
                          paymentMethods:
                            - credit-card
                          integrationMeta: []
                          minimumRequiredToBook: null
                          maximumAllowedToBook: null
                          providedItems: []
                          reminder: ''
                          ratings:
                            rating: null
                            recommendability: null
                            total: 0
                          isExclusive: false
      security:
        - Brand-API-Key: []
        - Organization-API-Key: []
components:
  parameters:
    brandIdPath:
      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).
    fromPath_23:
      name: from
      in: path
      schema:
        $ref: '#/components/schemas/LocalDate'
      required: true
      description: Start of the date range (YYYY-MM-DD), inclusive.
      example: '2026-08-15'
    toPath_24:
      name: to
      in: path
      schema:
        $ref: '#/components/schemas/LocalDate'
      required: true
      description: End of the date range (YYYY-MM-DD), inclusive.
      example: '2026-08-22'
  schemas:
    AvailableDatesOfExperiencesDto:
      type: object
      properties:
        sessions:
          description: List of available sessions.
          type: array
          items:
            $ref: '#/components/schemas/AvailableSessionDto'
        experiences:
          description: List of experiences with cover picture.
          type: array
          items:
            $ref: '#/components/schemas/MinimalExperienceDto'
        resourceGroupCollections:
          description: List of resource group collections.
          type: array
          items:
            $ref: '#/components/schemas/ResourceGroupCollectionsDto'
      required:
        - sessions
        - experiences
        - resourceGroupCollections
    LocalDate:
      type: string
      format: date
      example: '2026-08-15'
    AvailableSessionDto:
      type: object
      properties:
        startDateTime:
          type: string
          description: Start date and time of the session in ISO format.
          example: '2024-03-15T14:30:00Z'
        experienceId:
          type: string
          description: The unique identifier of the associated experience.
          example: exp-123
        hasPassed:
          type: boolean
          description: Indicates if the session has already passed.
          example: false
      required:
        - startDateTime
        - experienceId
        - hasPassed
    MinimalExperienceDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the experience.
          example: exp-123
        title:
          type: string
          description: The title of the experience.
          example: Scuba Diving in Bali
        slug:
          type: string
          description: The slug for the experience URL.
          example: scuba-diving-bali
        headline:
          type: string
          description: Headline of the experience.
          example: Dive into the crystal-clear waters of Bali
        priceTiers:
          description: Price tiers available for this experience.
          type: array
          items:
            $ref: '#/components/schemas/PriceTierDto'
        maxParticipantsCount:
          type: number
          description: Maximum number of participants allowed.
          example: 10
        currency:
          type: string
          description: Currency of the experience.
          example: USD
        bookingAvailabilityMode:
          type: string
          description: Booking availability mode.
          enum:
            - private
            - group
            - non-restricted
          example: group
        isExclusive:
          type: boolean
          description: Indicates if the experience is exclusive.
          example: true
        isFeatured:
          type: boolean
          description: Indicates if the experience is featured.
          example: true
        isBookable:
          type: boolean
          description: Indicates if the experience is bookable.
          example: true
        isUnlisted:
          type: boolean
          description: Indicates if the experience is unlisted.
          example: false
        type:
          type: string
          description: Type of the experience.
          enum:
            - recurring
            - one-time
          example: recurring
        coverPicture:
          description: Cover picture of the experience.
          allOf:
            - $ref: '#/components/schemas/MediaDto'
        hidePrice:
          type: boolean
          description: Indicates if the price is hidden.
          example: false
        isNoHost:
          type: boolean
          description: Indicates if the experience has no host.
          example: false
        hostedBy:
          type: object
          description: Host information.
          example:
            id: host-123
            firstName: John
            lastName: Doe
        category:
          type: object
          description: Category information.
          example:
            id: category-456
            name: Adventure
      required:
        - id
        - title
        - slug
        - headline
        - priceTiers
        - maxParticipantsCount
        - currency
        - bookingAvailabilityMode
        - isFeatured
        - isBookable
        - isUnlisted
        - type
        - coverPicture
        - hidePrice
        - isNoHost
    ResourceGroupCollectionsDto:
      type: object
      properties:
        resourceGroupCollections:
          description: List of resource group collections.
          type: array
          items:
            $ref: '#/components/schemas/ResourceGroupCollectionDto'
      required:
        - resourceGroupCollections
    PriceTierDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the price tier.
          example: tier-123
        name:
          type: string
          description: The name of the price tier.
          example: VIP
        price:
          type: number
          description: Price associated with the tier.
          example: 100
        maxQuantity:
          type: number
          description: Maximum quantity allowed for this price tier.
          example: 5
          nullable: true
      required:
        - id
        - name
        - price
    MediaDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the media.
          example: media-123
        originalName:
          type: string
          description: Original name of the media file.
          example: image.jpg
        relativePath:
          type: string
          description: Relative file path.
          example: /uploads/images/image.jpg
        mimeType:
          type: string
          description: MIME type of the file.
          example: image/jpeg
        fileSize:
          type: number
          description: File size in bytes.
          example: 204800
        status:
          type: string
          description: Status of the media.
          example: uploaded
        uploadedAt:
          format: date-time
          type: string
          description: Upload timestamp.
          example: '2024-03-01T12:00:00Z'
      required:
        - id
        - originalName
        - relativePath
        - mimeType
        - fileSize
        - status
        - uploadedAt
    ResourceGroupCollectionDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the resource group collection.
          example: rgc-123
        location:
          description: Location details of the resource group collection.
          allOf:
            - $ref: '#/components/schemas/ExperienceLocationDto'
        name:
          type: string
          description: The name of the resource group collection.
          example: Luxury Experiences
        resourceGroups:
          description: List of resource groups within this collection.
          type: array
          items:
            $ref: '#/components/schemas/ResourceGroupDto'
      required:
        - id
        - location
    ExperienceLocationDto:
      type: object
      properties:
        longitude:
          type: number
          description: Longitude of the location.
          example: -122.4194
        latitude:
          type: number
          description: Latitude of the location.
          example: 37.7749
        name:
          type: string
          description: Name of the location.
          example: San Francisco
        additionalInfo:
          type: string
          description: Additional information about the location.
          example: Near the Golden Gate Bridge
      required:
        - longitude
        - latitude
        - name
    ResourceGroupDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the resource group.
          example: rg-123
        name:
          type: string
          description: The name of the resource group.
          example: Premium Group
        title:
          type: string
          description: The title of the resource group.
          example: Exclusive Scuba Gear
        experiences:
          description: List of experiences associated with this resource group.
          type: array
          items:
            $ref: '#/components/schemas/ExperienceSummaryDto'
      required:
        - id
    ExperienceSummaryDto:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the experience.
          example: exp-123
        title:
          type: string
          description: The title of the experience.
          example: Scuba Diving in Bali
      required:
        - id
        - title
  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).

````