SpotOn Availability API

Available reservation times and wait-time lookups.

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-address-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-break-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-cash-deposit-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-employee-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-job-position-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-location-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-menu-item-catalog-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-check-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-discount-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-guest-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-menu-item-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-modifier-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-payment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-surcharge-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-tax-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-order-type-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-owner-info-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-paid-in-out-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-payment-option-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-report-category-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/restaurant-pos-export-time-clock-entry-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-address-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-break-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-cash-deposit-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-employee-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-job-position-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-location-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-menu-item-catalog-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-check-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-discount-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-guest-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-menu-item-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-modifier-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-payment-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-surcharge-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-tax-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-order-type-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-owner-info-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-paid-in-out-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-payment-option-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-report-category-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/restaurant-pos-export-time-clock-entry-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-availability-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-availability-slot-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-customer-information-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-reservation-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-reservation-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-restaurant-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-wait-time-response-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-waitlist-entry-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-schema/reserve-waitlist-request-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-availability-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-availability-slot-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-customer-information-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-reservation-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-reservation-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-restaurant-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-wait-time-response-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-waitlist-entry-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-structure/reserve-waitlist-request-structure.json

Other Resources

🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-address-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-break-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-cash-deposit-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-employee-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-job-position-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-location-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-menu-item-catalog-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-check-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-discount-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-guest-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-menu-item-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-modifier-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-payment-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-surcharge-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-tax-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-order-type-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-owner-info-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-paid-in-out-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-payment-option-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-report-category-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/restaurant-pos-export-time-clock-entry-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-ld/spoton-restaurant-pos-export-context.jsonld
🔗
SDKs
https://developers.spoton.com/reserve/docs/javascript
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-availability-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-availability-slot-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-customer-information-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-reservation-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-reservation-request-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-restaurant-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-wait-time-response-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-waitlist-entry-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/examples/reserve-waitlist-request-example.json
🔗
JSONLD
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/json-ld/spoton-reserve-context.jsonld
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/spoton/refs/heads/main/apis.yml

OpenAPI Specification

spoton-availability-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SpotOn Reserve Availability API
  description: The SpotOn Reserve API (powered by SeatNinja) lets partners integrate reservation, waitlist, and guest-management workflows into the SpotOn Reserve product. It supports listing accessible restaurants, checking available reservation times, creating and managing reservations, retrieving wait times, and adding guests to a waitlist. Authentication uses an API key supplied via the x-api-key request header, scoped to specific restaurants. The sandbox environment enforces daily and hourly request quotas; production has no documented rate limit.
  version: v2
  contact:
    name: SpotOn Reserve Developer Center
    url: https://developers.spoton.com/reserve/docs/getting-started
  x-generated-from: documentation
  x-last-validated: '2026-06-03'
servers:
- url: https://api.seatninja.com
  description: Production
- url: https://sandbox.seatninja.com
  description: Sandbox
security:
- apiKeyAuth: []
tags:
- name: Availability
  description: Available reservation times and wait-time lookups.
paths:
  /v2/reservations/{restaurantId}/availability:
    get:
      operationId: getAvailableReservationTimes
      summary: SpotOn Get Available Reservation Times
      description: Retrieve the open reservation time slots for a restaurant filtered by date and party size.
      tags:
      - Availability
      parameters:
      - $ref: '#/components/parameters/RestaurantId'
      - name: date
        in: query
        required: true
        description: The date to check availability for, in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: partySize
        in: query
        required: true
        description: The number of guests in the party.
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 99
      responses:
        '200':
          description: Available reservation time slots.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AvailabilityResponse'
              examples:
                GetAvailableReservationTimes200Example:
                  summary: Default getAvailableReservationTimes 200 response
                  x-microcks-default: true
                  value:
                    restaurantId: 152
                    date: '2025-03-15'
                    partySize: 4
                    slots:
                    - time: example
                      available: example
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v2/reservations/{restaurantId}/wait-time:
    get:
      operationId: getWaitTime
      summary: SpotOn Get Wait Time
      description: Retrieve the current wait time for a restaurant.
      tags:
      - Availability
      parameters:
      - $ref: '#/components/parameters/RestaurantId'
      - name: partySize
        in: query
        required: false
        description: Optional party size to retrieve a size-specific wait time.
        schema:
          type: integer
          format: int32
          minimum: 1
          maximum: 99
      responses:
        '200':
          description: The current wait time.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WaitTimeResponse'
              examples:
                GetWaitTime200Example:
                  summary: Default getWaitTime 200 response
                  x-microcks-default: true
                  value:
                    restaurantId: 152
                    partySize: 4
                    quotedWaitMinutes: 15
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    Forbidden:
      description: The API key does not have access to the requested restaurant.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: The requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: The API key is missing or invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: The request was malformed or violated a documented constraint.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: An unexpected server error occurred.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    WaitTimeResponse:
      type: object
      description: The current wait time for a restaurant.
      properties:
        restaurantId:
          type: integer
          format: int32
          description: The restaurant the wait time applies to.
          example: 152
        partySize:
          type: integer
          format: int32
          description: The party size the wait time applies to, if requested.
          example: 4
        quotedWaitMinutes:
          type: integer
          format: int32
          description: The current quoted wait time in minutes.
          example: 15
    Error:
      type: object
      description: A standard error response.
      properties:
        message:
          type: string
          description: A human-readable description of the error.
          example: example
        code:
          type: string
          description: A machine-readable error code.
          example: A1B2
    AvailabilityResponse:
      type: object
      description: The set of available reservation time slots for a date and party size.
      properties:
        restaurantId:
          type: integer
          format: int32
          description: The restaurant the availability applies to.
          example: 152
        date:
          type: string
          format: date
          description: The date the availability applies to.
          example: '2025-03-15'
        partySize:
          type: integer
          format: int32
          description: The party size the availability applies to.
          example: 4
        slots:
          type: array
          description: The available time slots.
          items:
            $ref: '#/components/schemas/AvailabilitySlot'
    AvailabilitySlot:
      type: object
      description: An available reservation time slot.
      properties:
        time:
          type: string
          format: date-time
          description: The available reservation date and time, in RFC 3339 format.
          example: '2025-03-15T14:30:00Z'
        available:
          type: boolean
          description: Whether the slot is available for booking.
          example: false
  parameters:
    RestaurantId:
      name: restaurantId
      in: path
      required: true
      description: The unique identifier for the restaurant.
      schema:
        type: integer
        format: int32
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key scoped to specific restaurants.