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

# Get Experiences

> Returns the online-bookable Experiences and their Experience Groups.



## OpenAPI

````yaml /public-api.json get /experiences
openapi: 3.1.0
info:
  title: Restoo Public API
  version: 3.0.0-alpha
  description: Connect your App with Restoo.
servers:
  - url: https://api-dev.myrestoo.net/v3
    description: Dev
  - url: https://api.myrestoo.net/v3
    description: Prod
security:
  - http: []
tags:
  - name: Review
paths:
  /experiences:
    get:
      tags:
        - Experience
      summary: Get Experiences
      description: Returns the online-bookable Experiences and their Experience Groups.
      operationId: experience.index
      parameters:
        - name: Restoo-Partner-Id
          in: header
          required: true
          description: Unique identifier of your Partner account (defined by Restoo).
          schema:
            type: string
          example: your-restoo-partner-id
        - name: Restoo-Account-Id
          in: header
          required: true
          description: >-
            Unique identifier of the
            [Tenant](/getting-started/key-concepts#tenant).
          schema:
            type: string
          example: best-burger
      responses:
        '200':
          description: '`GetExperiencesResponse`'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetExperiencesResponse'
        '409':
          $ref: '#/components/responses/TenantFeatureException'
components:
  schemas:
    GetExperiencesResponse:
      type: object
      description: >-
        Response payload representing the bookable Experiences and their
        Experience Groups.
      properties:
        experienceGroups:
          type: array
          description: Collection of Experience Groups
          items:
            $ref: '#/components/schemas/ExperienceGroup'
        experiences:
          type: array
          description: Collection of Experiences
          items:
            $ref: '#/components/schemas/Experience'
      required:
        - experienceGroups
        - experiences
      title: GetExperiencesResponse
    ExperienceGroup:
      type: object
      description: The Experience Group details.
      properties:
        name:
          type: string
          description: >-
            The Experience Group name, localized in the preferred response
            language
          examples:
            - Balinese Bed
          maxLength: 255
        summary:
          type:
            - string
            - 'null'
          description: >-
            The short rich text in HTML description of the Experience Group,
            localized in the preferred response language
          examples:
            - >-
              <p>A Balinese bed with canopy and cushions, ideal for relaxing
              outdoors.</p>
          maxLength: 2048
        images:
          type: array
          description: Images of the Experience Group
          items:
            $ref: '#/components/schemas/Image'
        sortOrder:
          type: integer
          description: |-
            The display order of the Experience Group.
            Lower values are shown first
          examples:
            - 1
          minimum: 0
        parentId:
          type:
            - integer
            - 'null'
          description: |-
            The parent Experience Group ID, if this group is a child.
            Null indicates a top-level group
          examples:
            - 10
        id:
          type: integer
          description: The unique identifier of the resource
          examples:
            - 101
          minimum: 1
      required:
        - name
        - summary
        - images
        - sortOrder
        - parentId
        - id
      title: ExperienceGroup
    Experience:
      type: object
      description: The Experience details.
      properties:
        name:
          type: string
          description: The Experience name, localized in the preferred response language
          examples:
            - Premium Menu
          maxLength: 255
        summary:
          type:
            - string
            - 'null'
          description: >-
            A short rich text in HTML description of the Experience, localized
            in the preferred response language
          examples:
            - <p>A 5-course premium tasting menu.</p>
          maxLength: 1024
        description:
          type:
            - string
            - 'null'
          description: >-
            The full rich text in HTML description of the Experience, localized
            in the preferred response language
          examples:
            - <p>Enjoy a 5-course tasting menu crafted by our head chef.</p>
          maxLength: 2048
        detailsUrl:
          type:
            - string
            - 'null'
          description: A URL with more information about the Experience
          examples:
            - https://example.com/experiences/premium-menu
          maxLength: 2048
        images:
          type: array
          description: Images of the Experience
          items:
            $ref: '#/components/schemas/Image'
        turnMinutes:
          type:
            - integer
            - 'null'
          description: Duration of the Experience in minutes
          examples:
            - 90
          minimum: 15
          maximum: 720
        isTimeLimited:
          type:
            - boolean
            - 'null'
          description: |-
            Indicates whether the Experience has a time limit that must be
            notified to and accepted by the customer before confirmation
          examples:
            - true
        minBookingSize:
          type:
            - integer
            - 'null'
          description: >-
            Minimum booking size — `pax` plus `paxChildren` — required to book
            the

            Experience
          examples:
            - 2
          minimum: 1
        maxBookingSize:
          type:
            - integer
            - 'null'
          description: >-
            Maximum booking size — `pax` plus `paxChildren` — allowed to book
            this

            Experience
          examples:
            - 10
          minimum: 1
        minTicketsPerBooking:
          type:
            - integer
            - 'null'
          description: >-
            Minimum number of tickets required to book this Experience.


            If `null`, no minimum is enforced and any quantity from `1` is
            accepted
          examples:
            - 1
          minimum: 1
        paxPerTicket:
          type: integer
          description: Number of guests per ticket, children included
          examples:
            - 4
          minimum: 1
        automaticTicketQuantity:
          type: boolean
          description: >-
            Indicates whether the ticket quantity is determined from the booking
            size rather

            than chosen by the Customer. `tickets` is required either way
          examples:
            - false
        pricePerTicket:
          type:
            - integer
            - 'null'
          description: The Experience price per ticket in cents
          examples:
            - 7500
          minimum: 1
        minAdvanceBookingMinutes:
          type:
            - integer
            - 'null'
          description: >-
            Minimum number of minutes required in advance to book the
            Experience.


            If `null`, no minimum advance time is enforced
          examples:
            - 60
          minimum: 0
        firstBookingTime:
          type:
            - string
            - 'null'
          description: >-
            Earliest time at which this Experience can be booked in `HH:MM:SS`
            format
          examples:
            - '18:00:00'
        lastBookingTime:
          type:
            - string
            - 'null'
          description: >-
            Latest time at which this Experience can be booked in `HH:MM:SS`
            format
          examples:
            - '23:00:00'
        groupId:
          type:
            - integer
            - 'null'
          description: The Experience group ID to which this Experience belongs, if any
          examples:
            - 1
        floorPlanAreas:
          type: array
          description: |-
            Floor plan areas available for this Experience.

            Each item describes a specific area within the venue

                 [
                    {
                        "id": 1,
                        "name": "Terrace",
                        "summary": "The beautiful terrace of our restaurant.",
                        "images": [],
                    }
                ]
          examples:
            - |-
              :
                  [
                      {
                          "id": 1,
                          "name": "Terrace",
                          "summary": "The beautiful terrace of our restaurant.",
                          "images": [],
                      }
                  ]
          items:
            $ref: '#/components/schemas/FloorPlanArea'
        hasAddOns:
          type: boolean
          description: Indicates whether the Experience has related Add-ons
          examples:
            - true
        currency:
          $ref: '#/components/schemas/CurrencyEnum'
          description: The currency represented as a three-letter ISO 4217 code
          examples:
            - EUR
        id:
          type: integer
          description: The unique identifier of the resource
          examples:
            - 101
          minimum: 1
      required:
        - name
        - summary
        - description
        - detailsUrl
        - images
        - turnMinutes
        - isTimeLimited
        - minBookingSize
        - maxBookingSize
        - minTicketsPerBooking
        - paxPerTicket
        - automaticTicketQuantity
        - pricePerTicket
        - minAdvanceBookingMinutes
        - firstBookingTime
        - lastBookingTime
        - groupId
        - floorPlanAreas
        - hasAddOns
        - currency
        - id
      title: Experience
    Image:
      type: object
      description: The Image details.
      properties:
        type:
          $ref: '#/components/schemas/ImageTypeEnum'
          description: The type of the Image
          examples:
            - THUMBNAIL
        url:
          type: string
          description: The URL where the Image is stored
          examples:
            - https://example.com/assets/image.jpg
          maxLength: 2048
      required:
        - type
        - url
      title: Image
    FloorPlanArea:
      type: object
      description: The Floor Plan Area details.
      properties:
        name:
          type: string
          description: >-
            The Floor Plan Area name, localized in the preferred response
            language
          examples:
            - Terrace
          maxLength: 255
        summary:
          type:
            - string
            - 'null'
          description: >-
            The short rich text in HTML description of the Floor Plan Area,
            localized in the preferred response language
          examples:
            - <p>The beautiful terrace of our restaurant.</p>
          maxLength: 2048
        images:
          type: array
          description: Images of the Floor Plan Area
          items:
            $ref: '#/components/schemas/Image'
        id:
          type: integer
          description: The unique identifier of the resource
          examples:
            - 101
          minimum: 1
      required:
        - name
        - summary
        - images
        - id
      title: FloorPlanArea
    CurrencyEnum:
      type: string
      enum:
        - EUR
        - USD
        - GBP
        - MXN
        - DOP
      title: CurrencyEnum
    ImageTypeEnum:
      type: string
      enum:
        - THUMBNAIL
        - DETAIL
      title: ImageTypeEnum
  responses:
    TenantFeatureException:
      description: >-
        Business Logic Error — The request is syntactically correct but cannot
        be processed due to logical constraints. Example: attempting to create a
        booking on a closed day or outside the allowed hours.
      content:
        application/problem+json:
          schema:
            type: object
            properties:
              type:
                type: string
                description: A URI identifier that categorizes the error type.
                examples:
                  - about:blank
              title:
                type: string
                description: A short, human-readable summary of the problem type.
                examples:
                  - Conflict
              status:
                type: integer
                description: >-
                  The HTTP status code generated by the origin server for this
                  occurrence of the problem.
                examples:
                  - 409
              code:
                type: string
                description: >-
                  A short string indicating the error code that could be handled
                  programmatically.
                examples:
                  - BOOKING_IS_NOT_ON_SEATED_GROUP
              detail:
                type: string
                description: >-
                  A human-readable message providing more details about the
                  error.
                examples:
                  - The booking must be on the seated group status to be ended.
            required:
              - type
              - title
              - status
              - code
              - detail
  securitySchemes:
    http:
      type: http
      description: >-
        All requests must include the static API Key in the Authorization header
        using the Bearer scheme.
      scheme: bearer

````