Paytronix Search API

Geospatial and full-text search across restaurants and menu items.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

paytronix-search-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Paytronix Online Ordering Check Search API
  version: '1.0'
  description: The Paytronix Online Ordering API (Open Dining) powers ordering experiences across in-store, online web, online app, call-in, call-center, and drive-through order methods. It exposes restaurant/location discovery, menu retrieval, fuzzy and geospatial search, and order creation, retrieval, and submission, connecting ordering systems to the broader Paytronix loyalty and guest engagement platform. This specification was generated from the public Open Dining documentation at http://docs.opendining.net and the Online Ordering Resource Center at https://support.opendining.net.
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  x-generated-from: documentation
  x-source-url: http://docs.opendining.net/api/
  x-last-validated: '2026-06-03'
servers:
- url: https://api.opendining.net
  description: Open Dining Online Ordering API base URL.
tags:
- name: Search
  description: Geospatial and full-text search across restaurants and menu items.
paths:
  /search/restaurants:
    get:
      operationId: searchRestaurants
      summary: Search Restaurants
      description: Search restaurants by location and optional full-text query, returning a count, a results array, and applicable facets.
      tags:
      - Search
      parameters:
      - name: lat
        in: query
        required: true
        description: Latitude of the search center.
        schema:
          type: number
          format: double
          example: 40
      - name: lon
        in: query
        required: true
        description: Longitude of the search center.
        schema:
          type: number
          format: double
          example: -81
      - name: q
        in: query
        required: false
        description: Fuzzy, weighted full-text search query.
        schema:
          type: string
          example: burrito
      - name: name
        in: query
        required: false
        description: Trailing-wildcard search on the business name.
        schema:
          type: string
      - name: tags
        in: query
        required: false
        description: Space-separated, URL-encoded tags to restrict results by category.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Maximum number of results (default 10, max 50).
        schema:
          type: integer
          default: 10
          maximum: 50
      - name: skip
        in: query
        required: false
        description: Offset for pagination.
        schema:
          type: integer
          default: 0
      - name: sort
        in: query
        required: false
        description: Sort order, by distance (default) or price.
        schema:
          type: string
          enum:
          - distance
          - price
          default: distance
      - name: show_closed
        in: query
        required: false
        description: When true, include closed restaurants.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Restaurant search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RestaurantSearchResults'
              examples:
                SearchRestaurants200Example:
                  summary: Default searchRestaurants 200 response
                  x-microcks-default: true
                  value:
                    count: 12
                    results:
                    - id: 4b96f1bafc9f100ca79231ef
                      name: Taqueria Downtown
                      distance: 1.2
                      coordinates:
                        lat: 40.0
                        lon: -81.0
                      address: 123 Main St
                      city: Boston
                      state: MA
                      postalCode: '02110'
                      phone: '+16175551234'
                      website: https://example.com
                      organizationId: string
                      imageUrl: string
                      description: string
                    facets: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /search/menuitems:
    get:
      operationId: searchMenuItems
      summary: Search Menu Items
      description: Search menu items by location and optional full-text query, returning a count, a results array (each with a prices array), and applicable facets.
      tags:
      - Search
      parameters:
      - name: lat
        in: query
        required: true
        description: Latitude of the search center.
        schema:
          type: number
          format: double
          example: 40
      - name: lon
        in: query
        required: true
        description: Longitude of the search center.
        schema:
          type: number
          format: double
          example: -81
      - name: q
        in: query
        required: false
        description: Fuzzy, weighted full-text search query.
        schema:
          type: string
          example: burrito
      - name: name
        in: query
        required: false
        description: Trailing-wildcard search on the item name.
        schema:
          type: string
      - name: tags
        in: query
        required: false
        description: Space-separated, URL-encoded tags to restrict results by category.
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: Maximum number of results (default 10, max 50).
        schema:
          type: integer
          default: 10
          maximum: 50
      - name: skip
        in: query
        required: false
        description: Offset for pagination.
        schema:
          type: integer
          default: 0
      - name: sort
        in: query
        required: false
        description: Sort order, by distance (default) or price.
        schema:
          type: string
          enum:
          - distance
          - price
          default: distance
      - name: show_closed
        in: query
        required: false
        description: When true, include unavailable items.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: Menu item search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MenuItemSearchResults'
              examples:
                SearchMenuItems200Example:
                  summary: Default searchMenuItems 200 response
                  x-microcks-default: true
                  value:
                    count: 34
                    results:
                    - id: 4b96f1bafc9f100ca79231ef
                      name: Chicken Burrito
                      description: Grilled chicken, rice, beans, salsa
                      imageUrl: string
                      prices:
                      - name: Regular
                        price: 9.5
                      options:
                      - name: Add Guacamole
                        price: 1.5
                    facets: {}
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    Coordinates:
      type: object
      properties:
        lat:
          type: number
          format: double
          example: 40.0
        lon:
          type: number
          format: double
          example: -81.0
    Restaurant:
      type: object
      properties:
        id:
          type: string
          example: 4b96f1bafc9f100ca79231ef
        name:
          type: string
          example: Taqueria Downtown
        distance:
          type: number
          example: 1.2
        coordinates:
          $ref: '#/components/schemas/Coordinates'
        address:
          type: string
          example: 123 Main St
        city:
          type: string
          example: Boston
        state:
          type: string
          example: MA
        postalCode:
          type: string
          example: '02110'
        phone:
          type: string
          example: '+16175551234'
        website:
          type: string
          example: https://example.com
        organizationId:
          type: string
        imageUrl:
          type: string
        description:
          type: string
    MenuItem:
      type: object
      properties:
        id:
          type: string
          example: 4b96f1bafc9f100ca79231ef
        name:
          type: string
          example: Chicken Burrito
        description:
          type: string
          example: Grilled chicken, rice, beans, salsa
        imageUrl:
          type: string
        prices:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                example: Regular
              price:
                type: number
                example: 9.5
        options:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                example: Add Guacamole
              price:
                type: number
                example: 1.5
    RestaurantSearchResults:
      type: object
      properties:
        count:
          type: integer
          example: 12
        results:
          type: array
          items:
            $ref: '#/components/schemas/Restaurant'
        facets:
          $ref: '#/components/schemas/Facets'
    MenuItemSearchResults:
      type: object
      properties:
        count:
          type: integer
          example: 34
        results:
          type: array
          items:
            $ref: '#/components/schemas/MenuItem'
        facets:
          $ref: '#/components/schemas/Facets'
    Facets:
      type: object
      description: Applicable search facets such as tags for refining a search.
      additionalProperties: true