TableCheck calendar API

The calendar API from TableCheck — 1 operation(s) for calendar.

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-calendar-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-calendar-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: TableCheck API - V1 availability calendar 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: calendar
paths:
  /calendar/{shop_id}:
    get:
      summary: Fetch availability calendar of a specific shop.
      operationId: showCalendarByShopId
      tags:
      - calendar
      parameters:
      - name: shop_id
        in: path
        required: true
        description: The id or slug of the shop calendar to retrieve
        schema:
          type: string
      - name: pax
        in: query
        description: Desired number of guests for which to search for availability.
        required: false
        example: 2
        schema:
          type: number
          format: integer
      - name: datetime
        in: query
        description: Desired datetime around which to search for availability.
        required: false
        example: '2026-07-06T17:00:00.000Z'
        schema:
          type: string
          format: date-time
      - name: datetime_min
        in: query
        description: Lower-bound datetime for range query.
        required: false
        example: '2026-07-06T16:00:00.000Z'
        schema:
          type: string
          format: date-time
      - name: datetime_max
        in: query
        description: Upper-bound datetime for range query.
        required: false
        example: '2026-07-06T16:00:00.000Z'
        schema:
          type: string
          format: date-time
      - name: date
        in: query
        description: Desired date in which to search availability.
        required: false
        example: '2026-07-06'
        schema:
          type: string
          format: date
      - name: date_min
        in: query
        description: Lower-bound date for range query.
        required: false
        example: '2026-07-06'
        schema:
          type: string
          format: date
      - name: date_max
        in: query
        description: Upper-bound date for range query.
        required: false
        example: '2026-07-08'
        schema:
          type: string
          format: date
      - name: time
        in: query
        description: Desired time of day in which to search availability. Can be specified as time string or integer seconds.
        required: false
        example: '17:00'
        schema:
          type: string
          format: time-of-day
      - name: time_min
        in: query
        description: Lower-bound time of day for range query. Can be specified as time string or integer seconds.
        required: false
        example: '15:00'
        schema:
          type: string
          format: time-of-day
      - name: time_max
        in: query
        description: Upper-bound time of day for range query. Can be specified as time string or integer seconds.
        required: false
        example: '20:00'
        schema:
          type: string
          format: time-of-day
      - name: seat_types
        in: query
        description: Filters availability by the type of seating, e.g. table, counter, private room, etc. (array or comma-separated list)
        required: false
        schema:
          type: string
          enum:
          - open
          - counter
          - outside
          - curtain
          - private
          - tatami
      - name: smoking
        in: query
        description: Filters availability by whether the seating allows smoking or not. If unspecified, both smoking and non-smoking are allowed.
        required: false
        schema:
          type: string
          enum:
          - smoking
          - non_smoking
      - name: service_category_id
        in: query
        required: false
        description: The id of the service category
        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/CalendarShowResponse'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    ExcludeFields:
      name: exclude_fields
      in: query
      description: Comma-separated list of fields to exclude from the response (blacklist). All fields except the given ones will be returned. Supports dot notation for nested fields.
      required: false
      schema:
        type: string
      example: created_at,socials.username
    IncludeFields:
      name: include_fields
      in: query
      description: Comma-separated list of fields to include in the response (whitelist). If specified, only the listed fields will be returned. Supports dot notation for nested fields.
      required: false
      schema:
        type: string
      example: id,name,addresses.city
  schemas:
    Error:
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                example: not_found
              message:
                type: string
                example: Item not found
    CalendarShowResponse:
      type: object
      properties:
        calendar:
          type: object
          properties:
            id:
              type: string
              format: bson-id
              example: ae5355ca1fd337ed5d6893e2
            slug:
              type: string
              example: my-shop-slug
            availability:
              type: array
              items:
                format: date
              example:
              - '2018-11-10'
              - '2018-11-11'
              - '2018-11-13'
            availability_cached_at:
              type: string
              format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: AUTHORIZATION
externalDocs:
  description: Implementation Guide
  url: https://tablecheck.atlassian.net/wiki/spaces/API/pages/46301274/Availability+v1