TableCheck membership_programs API

The membership_programs API from TableCheck — 2 operation(s) for membership_programs.

Documentation

Specifications

Other Resources

OpenAPI Specification

tablecheck-membership-programs-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.0
  title: TableCheck API - V1 availability membership_programs 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: membership_programs
paths:
  /membership_programs:
    get:
      summary: List all Membership Programs
      operationId: listMembershipPrograms
      tags:
      - membership_programs
      parameters:
      - name: ids
        in: query
        description: Array or comma-separated list of specific IDs to return.
        required: false
        schema:
          type: string
          format: bson-id
      - name: membership_ids
        in: query
        description: Array or comma-separated list of specific membership IDs.
        required: false
        schema:
          type: string
          format: bson-id
      - name: created_at_min
        in: query
        description: Search lower bound of created_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
      - name: created_at_max
        in: query
        description: Search upper bound of created_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
      - name: updated_at_min
        in: query
        description: Search lower bound of updated_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
      - name: updated_at_max
        in: query
        description: Search upper bound of updated_at field (ISO timestamp).
        required: false
        schema:
          type: string
          format: date-time
      - 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: 1000
      - $ref: '#/components/parameters/IncludeFields'
      - $ref: '#/components/parameters/ExcludeFields'
      responses:
        '200':
          description: A paged array of reservations
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MembershipProgramsListResponse'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /membership_programs/{membership_program_id}:
    get:
      summary: Fetch a specific Membership Program
      operationId: showMembershipProgramById
      tags:
      - membership_programs
      parameters:
      - name: membership_program_id
        in: path
        required: true
        description: The ID of the Membership Program to retrieve
        schema:
          type: string
      responses:
        '200':
          description: Expected response to a valid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MembershipProgramShowResponse'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    MembershipProgramsListResponse:
      type: object
      properties:
        membership_programs:
          type: array
          items:
            $ref: '#/components/schemas/MembershipProgram'
        pagination:
          $ref: '#/components/schemas/PaginationData'
    MembershipTierEmbed:
      properties:
        id:
          description: The database ID of the Membership Tier.
          type: string
          format: bson-id
        name:
          type: string
        code:
          type: string
        tier:
          type: number
    FranchiseEmbed:
      type: object
      properties:
        id:
          description: ID of the Franchise.
          type: string
          format: bson-id
          example: a33e5357ed5d6893e5ca1fd2
        name:
          description: The name of the Franchise.
          type: object
          format: string
          example: The Midtown Hotel
    MembershipProgram:
      properties:
        id:
          description: The database ID of the Membership Program.
          type: string
          format: bson-id
        name:
          type: string
        point_multiplier:
          description: Point multiplier
          type: string
        franchise:
          $ref: '#/components/schemas/FranchiseEmbed'
        membership_tiers:
          type: array
          items:
            $ref: '#/components/schemas/MembershipTierEmbed'
    PaginationData:
      type: object
      properties:
        page:
          type: number
          format: integer
          example: 3
        per_page:
          type: number
          format: integer
          example: 100
    MembershipProgramShowResponse:
      type: object
      properties:
        membership_program:
          $ref: '#/components/schemas/MembershipProgram'
    Error:
      required:
      - errors
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                example: not_found
              message:
                type: string
                example: Item not found
  parameters:
    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
    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
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: AUTHORIZATION
externalDocs:
  description: Implementation Guide
  url: https://tablecheck.atlassian.net/wiki/spaces/API/pages/46301274/Availability+v1