TableCheck reservations API

The reservations API from TableCheck — 6 operation(s) for reservations.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tablecheck-reservations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

tablecheck-reservations-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: TableCheck API - V1 availability reservations API
  description: The Availability API is used to obtain near real-time table availability for online reservation booking.
  termsOfService: https://tablecheck.atlassian.net/wiki/spaces/API/pages/61571353/TableCheck+API+Terms+of+Service
servers:
- url: https://api.tablecheck.com/api/availability/v1/
  description: Production (uses live data)
security:
- ApiKeyAuth: []
tags:
- name: reservations
paths:
  /reservations:
    get:
      summary: List all Reservations
      operationId: listReservations
      tags:
      - reservations
      parameters:
      - name: ids
        in: query
        description: Array or comma-separated list of specific reservation IDs to return.
        required: false
        schema:
          type: string
          format: bson-id
          example: ae5355ca1fd337ed5d6893e2
      - name: shop_ids
        in: query
        description: Array or comma-separated list of shop IDs to filter reservations.
        required: false
        schema:
          type: string
          format: bson-id
          example: ae5355ca1fd337ed5d6893e2
      - name: created_at_min
        in: query
        description: Search lower bound of created_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: created_at_max
        in: query
        description: Search upper bound of created_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: updated_at_min
        in: query
        description: Search lower bound of updated_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: updated_at_max
        in: query
        description: Search upper bound of updated_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: start_at_min
        in: query
        description: Search lower bound of start_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: start_at_max
        in: query
        description: Search upper bound of start_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: page
        in: query
        description: The zero-based page number. Used for pagination.
        required: false
        schema:
          type: number
          format: integer
          minimum: 0
      - name: per_page
        in: query
        description: Number of items to return at once. Used for pagination.
        required: false
        schema:
          type: number
          format: integer
          default: 100
          minimum: 1
          maximum: 200
      - name: sort
        in: query
        description: The field by which to sort the results.
        required: false
        schema:
          type: string
          default: start_at
          enum:
          - created_at
          - updated_at
          - start_at
      - name: sort_order
        in: query
        description: The direction to sort the results (asc or desc.)
        required: false
        schema:
          default: asc
          enum:
          - asc
          - desc
          type: string
      - name: customer_ids
        in: query
        description: Array or comma-separated list of customer IDs to filter reservations.
        required: false
        schema:
          type: string
          format: bson-id
          example: f2ab06ff5d03d98e316513e1
      - name: service_category_ids
        in: query
        description: Array or comma-separated list of service category IDs to filter reservations.
        required: false
        schema:
          type: string
          format: bson-id
          example: 6513e1b06ff2a98e31f5d03d
      responses:
        '200':
          description: A paged array of reservations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationsListResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
    post:
      summary: Create Reservation
      operationId: createReservation
      tags:
      - reservations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationCreateParams'
      responses:
        '200':
          description: The Reservation which was created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationShowResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
  /reservations/{reservation_id_or_ref}:
    get:
      summary: Fetch a specific Reservation
      operationId: showReservationById
      tags:
      - reservations
      parameters:
      - name: reservation_id_or_ref
        in: path
        required: true
        description: The ID or ref of the Reservation to retrieve
        schema:
          type: string
      - $ref: '#/components/parameters/IncludeFields'
      - $ref: '#/components/parameters/ExcludeFields'
      responses:
        '200':
          description: The specified Reservation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationShowResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
    put:
      summary: Update Reservation
      operationId: updateReservation
      tags:
      - reservations
      parameters:
      - name: reservation_id_or_ref
        in: path
        required: true
        description: The ID or ref of the Reservation to update
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationUpdateParams'
      responses:
        '200':
          description: The Reservation which was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationShowResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
  /reservations/{reservation_id_or_ref}/cancel:
    put:
      summary: Cancel Reservation
      operationId: cancelReservation
      tags:
      - reservations
      parameters:
      - name: reservation_id_or_ref
        in: path
        required: true
        description: The ID or ref of the Reservation to cancel
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationCancelParams'
      responses:
        '200':
          description: The Reservation which was cancelled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationShowResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
  /reservations/{reservation_id}:
    get:
      summary: Fetch a specific Reservation
      operationId: showReservationById
      tags:
      - reservations
      parameters:
      - name: reservation_id
        in: path
        required: true
        description: The ID or slug of the Reservation to retrieve
        schema:
          type: string
      - $ref: '#/components/parameters/IncludeFields'
      - $ref: '#/components/parameters/ExcludeFields'
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationShowResponse_2'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      summary: Update Reservation
      operationId: updateReservation
      tags:
      - reservations
      parameters:
      - name: reservation_id
        in: path
        required: true
        description: The ID or ref of the Reservation to update
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationUpdateParams_2'
      responses:
        '200':
          description: The Reservation which was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationShowResponse_2'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnprocessableEntityError'
  /shops/{shop_id}/reservations:
    get:
      summary: List all Reservations
      operationId: listReservations
      tags:
      - reservations
      parameters:
      - name: shop_id
        in: path
        required: true
        description: The ID, slug or ref of the Shop
        schema:
          type: string
      - name: created_at_min
        in: query
        description: Search lower bound of created_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: created_at_max
        in: query
        description: Search upper bound of created_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: updated_at_min
        in: query
        description: Search lower bound of updated_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: updated_at_max
        in: query
        description: Search upper bound of updated_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: start_at_min
        in: query
        description: Search lower bound of start_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: start_at_max
        in: query
        description: Search upper bound of start_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
          example: '2020-01-29T19:00:00Z'
      - name: customer_name
        in: query
        description: The name of the customer to search for reservations. Can be full name, first name, or last name.
        required: false
        schema:
          type: string
      - name: page
        in: query
        description: The zero-based page number. Used for pagination.
        required: false
        schema:
          type: number
          format: integer
          minimum: 0
      - name: per_page
        in: query
        description: Number of items to return at once. Used for pagination.
        required: false
        schema:
          type: number
          format: integer
          default: 20
          minimum: 1
          maximum: 100
      - $ref: '#/components/parameters/IncludeFields'
      - $ref: '#/components/parameters/ExcludeFields'
      responses:
        '200':
          description: A paged array of reservations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationsListResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/UnprocessableEntityError'
                - $ref: '#/components/schemas/ShopNotFoundError'
  /shops/{shop_id}/reservations/{reservation_id}:
    get:
      summary: Get Reservation information
      operationId: showReservation
      tags:
      - reservations
      parameters:
      - name: shop_id
        in: path
        required: true
        description: The ID, slug or ref of the Shop
        schema:
          type: string
      - name: reservation_id
        in: path
        required: true
        description: The ID or code of the Reservation
        schema:
          type: string
      - $ref: '#/components/parameters/IncludeFields'
      - $ref: '#/components/parameters/ExcludeFields'
      responses:
        '200':
          description: The Reservation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationSingleResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
    put:
      summary: Update Reservation
      operationId: updateReservation
      tags:
      - reservations
      parameters:
      - name: shop_id
        in: path
        required: true
        description: The ID, slug or ref of the Shop
        schema:
          type: string
      - name: reservation_id
        in: path
        required: true
        description: The ID or code of the Reservation
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReservationUpdateParams_3'
      responses:
        '200':
          description: The Reservation which was updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReservationSingleResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '422':
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                anyOf:
                - $ref: '#/components/schemas/UnprocessableEntityError'
                - $ref: '#/components/schemas/ShopNotFoundError'
components:
  schemas:
    ReservationShowResponse:
      type: object
      properties:
        reservation:
          $ref: '#/components/schemas/Reservation'
    ReservationShowResponse_2:
      type: object
      properties:
        reservation:
          $ref: '#/components/schemas/Reservation_2'
        reservation_flags:
          type: array
          items:
            $ref: '#/components/schemas/ReservationFlag'
    Reservation_3:
      type: object
      properties:
        id:
          description: TableCheck's database ID of the Reservation.
          type: string
          format: bson-id
          example: ae5355ca1fd337ed5d6893e2
        franchise_id:
          description: The ID of the Franchise to which the Reservation belongs.
          type: string
          format: bson-id
          example: ae5355ca1fd337ed5d6893e2
        shop_id:
          description: The ID of Shop to which the Reservation belongs.
          type: string
          format: bson-id
          example: ae5355ca1fd337ed5d6893e2
        cancel_reason:
          description: Free-text reason for cancellation.
          type: string
          example: Cancelled due to weather
        cancel_reason_type:
          description: The enumerated reason for cancellation.
          type: string
          enum:
          - mistake
          - shop
          - travel
          - deal
          - delay
          - personal
          - covid
          - other
        channel:
          description: The website or sales channel by which the Reservation was made.
          type: string
          example: instagram
        code:
          description: TableCheck's short code for the Reservation. May be displayed to user.
          type: string
          example: ABC123
        customer_name:
          description: '[PII] The customer''s name.'
          type: string
        duration:
          description: The anticipated seating duration of the reservation, in seconds.
          type: number
          format: seconds
          example: 7200
        locale:
          description: The customer's preferred language.
          type: string
          enum:
          - en
          - ja
          - ko
          - zh-CN
          - zh-TW
          - de
          - es
          - fr
          - nl
          - it
          - pt
          - tr
          - ru
          - id
          - ms
          - tl
          - th
          - lo
          - km
          - vi
          - ar
          - he
          - hi
        memo:
          description: Free-text memo which may include payment info, special requests, allergies, etc.
          type: string
        party_name:
          description: The party or group name for the reservation.
          type: string
        pax:
          description: The party size, i.e. number of people dining.
          type: number
          format: integer
          example: 3
        points:
          description: The number of reward points redeemed by the customer via the provider system.
          type: number
          format: integer
          example: 200
        provider:
          description: The system used to process the reservation (tablecheck, etc.)
          type: string
          example: tablecheck
        provider_ref:
          description: The Reservation ID according to the system which processed the Reservation.
          type: string
          example: ABC123DEF
        purpose:
          description: The reason or occasion for booking, e.g. "birthday".
          type: string
          enum:
          - birthday
          - birthday_self
          - birthday_friends
          - birthday_couple
          - birthday_spouse
          - birthday_family
          - group
          - group_women
          - group_farewell
          - group_holiday
          - group_reunion
          - group_wedding
          - group_travel
          - business
          - business_internal
          - business_farewell
          - business_holiday
          - family
          - family_celebration
          - family_baby
          - family_kids
          - family_intro
          - family_engagement
          - family_memorial
          - date
          - date_group
          - date_proposal
          - date_anniversary
          - date_celebration
          - event
          - event_seminar
          - event_recital
          - event_expo
          - event_film
          - other
        room_name:
          description: The hotel room number associated with the reservation.
          type: string
        seat_types:
          description: Indicates the seating preference(s) of the customer, e.g. private room.
          type: array
          items:
            type: string
            enum:
            - open
            - counter
            - outside
            - curtain
            - private
            - tatami
        smoking:
          description: The customer's smoking preference.
          type: string
          enum:
          - none
          - 'true'
          - 'false'
        source:
          description: The general method by which the reservation was made ("web", "phone", etc.)
          type: string
          enum:
          - phone
          - ivrs
          - sms
          - web
          - email
          - in_person
          - walk_in
          - app
          - other
        start_at:
          description: The time at which the party wishes to arrive for the Reservation. Must match the Blockage start_at value.
          type: string
          format: date-time
          example: '2020-01-29T19:15:00Z'
        status:
          description: The status of the Reservation.
          type: string
          enum:
          - tentative
          - pending
          - request
          - accepted
          - confirmed
          - attended
          - cancelled
          - noshow
          - rejected
          - iou_prepay
          - iou_auth
        table_names:
          description: The names of the table(s) at which the party is seated. This is derived from the table objects in TableCheck.
          type: array
          items:
            type: string
        created_at:
          description: The timestamp of when the Reservation was created.
          type: string
          format: date-time
          example: '2020-01-29T19:12:34Z'
        updated_at:
          description: The timestamp of when the Reservation was last updated.
          type: string
          format: date-time
          example: '2020-01-29T19:12:34Z'
    Reservation_2:
      properties:
        id:
          description: Database ID of the Reservation.
          type: string
          format: bson-id
          example: ae5355ca1fd337ed5d6893e2
        ref:
          type: string
          description: Your identifier for the Reservation.
        franchise_id:
          description: The ID of Franchise to which the Reservation belongs.
          type: string
          format: bson-id
        shop_id:
          description: The ID of Shop to which the Reservation belongs.
          type: string
          format: bson-id
        customer_ids:
          description: The IDs of the Customers to which the Reservation belongs.
          type: array
          items:
            type: string
            format: bson-id
        primary_customer_id:
          description: The ID of primary Customer of Reservation. Refer to "customers" array.
          type: string
          format: bson-id
          example: ede535ea33fd275ca15d6893
        table_ids:
          description: The IDs of the Tables where the Reservation will be seated.
          type: array
          items:
            type: string
            format: bson-id
        service_category_id:
          description: The database ID of the ServiceCategory assigned to the Reservation.
          type: string
          format: bson-id
        promo_id:
          description: The database ID of the Promo assigned to the Reservation.
          type: string
          format: bson-id
        created_at:
          description: The timestamp of when the Reservation was created.
          type: string
          format: date-time
        updated_at:
          description: The timestamp of when the Reservation was last updated.
          type: string
          format: date-time
        start_at:
          description: The time at which the party is scheduled to arrive for the Reservation.
          type: string
          format: date-time
          example: '2020-01-29T19:15:00Z'
        duration:
          description: The planned duration of the Reservation in seconds.
          type: number
          format: seconds
          example: 7200
        pax:
          description: The total party size of the Reservation. This is the sum of the other pax fields.
          type: number
          format: integer
          example: 6
        pax_adult:
          description: The number of adults attending the Reservation.
          type: number
          format: integer
          example: 3
        pax_senior:
          description: The number of senior citizens attending the Reservation.
          type: number
          format: integer
          example: 2
        pax_child:
          description: The number of children attending the Reservation.
          type: number
          format: integer
          example: 0
        pax_baby:
          description: The number of babies attending the Reservation.
          type: number
          format: integer
          example: 1
        status:
          description: The status of the Reservation.
          type: string
          enum:
          - tentative
          - pending
          - request
          - accepted
          - confirmed
          - delay
          - call_absent
          - call_message
          - call_wrong
          - cancelled
          - noshow
          - rejected
          - arrived
          - arrived_part
          - waiting
          - waitlist_called
          - seated
          - seated_part
          - service_drink
          - service_main
          - service_dessert
          - check_req
          - paid
          - turnover
          - turned_over
        source:
          description: The general method by which the Reservation was made (web, phone, etc.)
          type: string
          example: web
        channel:
          description: The web site or sales channel by which the Reservation was made.
          type: string
          example: instagram
        provider:
          description: The system used to process the Reservation (tablecheck, etc.)
          type: string
          example: tablecheck
        provider_ref:
          description: The Reservation ID according to the system which processed the Reservation.
          type: string
          example: ABC123DEF
        points:
          description: The number of reward points redeemed by the customer via the provider system.
          type: number
          format: integer
          example: 200
        seat_types:
          description: The seating or table type(s) requested by the customer.
          type: array
          items:
            type: string
            enum:
            - open
            - counter
            - outside
            - curtain
            - private
            - tatami
        smoking:
          description: Indicates whether the customer has requested smoking or non-smoking seats.
          type: string
          enum:
          - none
          - 'true'
          - 'false'
        special_request:
          description: Free-text additional request made by the customer at time of booking. May be used to include special requests, dietary restrictions, etc.
          type: string
        memo:
          description: A free-text internal memo for the Reservation used only by merchant staff. Contains notes about the reservation, customer, or other details.
          type: string
        memo2:
          description: Secondary free-text internal memo for the Reservation used only by merchant staff.
          type: string
        visit_history:
          description: An enumeration indicating roughly how many times the customer has visited the restaurant.
          type: string
          enum:
          - new
          - visit2
          - visit3
          - repeater
          - walk_in
          - no_customer
        party_name:
          description: The party or group name for the reservation.
          type: string
        room_name:
          description: The hotel room number associated with the reservation.
          type: string
        cancel_reason_type:
          description: The enumerated reason for cancellation, if the reservation was cancelled.
          type: string
          enum:
          - mistake
          - shop
          - travel
          - deal
          - delay
          - personal
          - covid
          - other
        cancel_reason:
          description: The memo explaining the reason for cancellation, if the reservation was cancelled.
          type: string
        cancelled_by_customer:
          description: If the reservation was cancelled, this flag if true indicates the cancellation action was performed by the customer (diner) via the web. A false value indicates the cancellation was performed either by the merchant or (in rare cases) automatically by the system.
          type: boolean
        send_emails:
          description: Indicates whether to send the customer email notifications for this reservation.
          type: boolean
        send_texts:
          description: Indicates whether to send 

# --- truncated at 32 KB (105 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tablecheck/refs/heads/main/openapi/tablecheck-reservations-api-openapi.yml