Grubhub · Schema

PosMerchantData

Summary information about a merchant. This entity will be expanded over time.

Food DeliveryRestaurantMarketplaceOnline OrderingPoint-of-SaleLogisticsLast Mile DeliveryMenu ManagementHospitalityLocal CommerceDelivery

Properties

Name Type Description
merchant_id string The Grubhub or third-party provided external ID for the merchant. Corresponds to a single location.
merchant_uuid string The UUID of the merchant.
name string The display name of the merchant.
account_status object
address object
service_type string Merchant configuration for providing food to diner. This can be one of the following: - "PICKUP" - Merchant supports pickup only orders. - "DELIVERY" - Merchant supports delivery only orders. - "DELIV
fulfillment_info object
order_processing_info object
order_taking_info object
diner_pickup_instructions object
merchant_status_by_order_type object Merchant status by order type (e.g., STANDARD, CATERING, GROUP).
View JSON Schema on GitHub

JSON Schema

grubhub-posmerchantdata-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/grubhub/main/json-schema/grubhub-posmerchantdata-schema.json",
  "title": "PosMerchantData",
  "x-generated": "2026-09-17",
  "x-method": "derived",
  "x-source": "openapi/grubhub-merchant-data-openapi.yml#/components/schemas/PosMerchantData",
  "type": "object",
  "properties": {
    "merchant_id": {
      "type": "string",
      "description": "The Grubhub or third-party provided external ID for the merchant. Corresponds to a single location."
    },
    "merchant_uuid": {
      "type": "string",
      "description": "The UUID of the merchant.",
      "format": "uuid"
    },
    "name": {
      "type": "string",
      "description": "The display name of the merchant."
    },
    "account_status": {
      "$ref": "#/$defs/PosAccountStatus"
    },
    "address": {
      "$ref": "#/$defs/Address"
    },
    "service_type": {
      "type": "string",
      "description": "Merchant configuration for providing food to diner. This can be one of the following: - \"PICKUP\" - Merchant supports pickup only orders. - \"DELIVERY\" - Merchant supports delivery only orders. - \"DELIVERY AND PICKUP\" - Merchant supports both delivery and pickup orders."
    },
    "fulfillment_info": {
      "$ref": "#/$defs/PosMerchantFulfillmentInfo"
    },
    "order_processing_info": {
      "$ref": "#/$defs/OrderProcessingInfo"
    },
    "order_taking_info": {
      "$ref": "#/$defs/OrderTakingInfo"
    },
    "diner_pickup_instructions": {
      "$ref": "#/$defs/DinerPickUpInstructions"
    },
    "merchant_status_by_order_type": {
      "type": "object",
      "additionalProperties": {
        "type": "string",
        "description": "Merchant status by order type (e.g., STANDARD, CATERING, GROUP)."
      },
      "description": "Merchant status by order type (e.g., STANDARD, CATERING, GROUP)."
    }
  },
  "description": "Summary information about a merchant. This entity will be expanded over time.",
  "$defs": {
    "Address": {
      "required": [
        "county_id",
        "locality",
        "market",
        "postal_code",
        "region",
        "street_address"
      ],
      "type": "object",
      "properties": {
        "street_address": {
          "type": "string",
          "description": "Street address line 1"
        },
        "street_address2": {
          "type": "string",
          "description": "Street address line 2"
        },
        "locality": {
          "type": "string",
          "description": "City, town, village or any variant thereof"
        },
        "region": {
          "type": "string",
          "description": "State, province or any variant thereof. 2 digit ISO code for US states.",
          "example": "AL"
        },
        "postal_code": {
          "type": "string",
          "description": "ISO standard postal code, varies per country"
        },
        "county": {
          "type": "string",
          "description": "County, parish or any variant thereof"
        },
        "county_id": {
          "type": "integer",
          "description": "The unique identifier for the county this merchant is located in",
          "format": "int32"
        },
        "country": {
          "type": "string",
          "description": "Country, territory or any variant thereof",
          "deprecated": true
        },
        "region_code": {
          "type": "string",
          "description": "2 letter country ISO 3166-1 code",
          "example": "US"
        },
        "market": {
          "type": "string",
          "description": "The market that this merchant is enrolled within",
          "deprecated": true
        },
        "market_id": {
          "type": "integer",
          "description": "The id of the market that this merchant is enrolled within",
          "format": "int32",
          "deprecated": true
        },
        "time_zone": {
          "type": "string",
          "description": "A human readable description of what time zone this address is in"
        },
        "geo_location": {
          "$ref": "#/$defs/GeoLocation"
        },
        "confidence_rating": {
          "type": "string",
          "description": "How confident geocoder is that this address is accurate"
        },
        "confirmed_address": {
          "type": "boolean",
          "description": "Whether the address has been confirmed to be accurate"
        }
      },
      "description": "The address of the physical location for a merchant."
    },
    "DeliveryArea": {
      "required": [
        "fee_cents",
        "geometry",
        "name"
      ],
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The id for this DeliveryArea (Zone)",
          "format": "uuid"
        },
        "name": {
          "type": "string",
          "description": "A name for the delivery zone"
        },
        "fee_cents": {
          "minimum": 0,
          "type": "integer",
          "description": "The delivery cost for this delivery zone, in cents",
          "format": "int32"
        },
        "zone_type": {
          "type": "string",
          "description": "They type of delivery zone (i.e. Diner or Catering). Defaults to Diner",
          "deprecated": true,
          "enum": [
            "CATERING",
            "DINER"
          ]
        },
        "geometry": {
          "type": "string",
          "description": "GeoJSON String representing the geometry of the delivery area"
        },
        "stats": {
          "$ref": "#/$defs/DeliveryAreaStats"
        }
      },
      "description": "Delivery area configuration settings."
    },
    "DeliveryAreaStats": {
      "type": "object",
      "properties": {
        "area": {
          "type": "number",
          "description": "Area in square miles. READ_ONLY",
          "readOnly": true
        },
        "approximate_radius": {
          "type": "number",
          "description": "Approximate Radius in miles. READ_ONLY",
          "readOnly": true
        },
        "height": {
          "type": "number",
          "description": "Height in miles. READ_ONLY",
          "readOnly": true
        },
        "width": {
          "type": "number",
          "description": "Width in miles. READ_ONLY",
          "readOnly": true
        }
      },
      "description": "Various Calculations about a DeliveryArea, Filled automatically. All units are in miles/square miles."
    },
    "DinerPickUpInstructions": {
      "type": "object",
      "properties": {
        "offers_curbside_pickup": {
          "type": "boolean",
          "description": "Describes whether merchant is opted in to curbside pickup or not."
        },
        "contact_phone": {
          "type": "string",
          "description": "Means of contacting a merchant when picking up curbside."
        },
        "curbside_instructions": {
          "type": "string",
          "description": "An additional information a merchant can optionally provide to curbside pickup diners."
        }
      },
      "description": "Contains diner pickup instructions for a merchant."
    },
    "GeoLocation": {
      "type": "object",
      "properties": {
        "lat": {
          "type": "number",
          "description": "Latitude coordinate",
          "format": "double"
        },
        "lng": {
          "type": "number",
          "description": "Longitude coordinate",
          "format": "double"
        }
      },
      "description": "Latitude and longitude coordinates for a location."
    },
    "OrderProcessingInfo": {
      "type": "object",
      "properties": {
        "scheduled_orders": {
          "type": "boolean",
          "description": "Whether or not the merchant is opt-in scheduled ordering."
        },
        "pos_integrated": {
          "type": "boolean",
          "description": "Whether or not the merchant is pos integrated."
        }
      },
      "description": "Contains order processing info of a merchant."
    },
    "OrderTakingInfo": {
      "type": "object",
      "properties": {
        "managed_delivery": {
          "type": "boolean",
          "description": "Whether or not the merchant is managed delivery enabled."
        },
        "special_instructions_disabled": {
          "type": "boolean",
          "description": "Describes whether this merchant has disabled special ordering instructions or not."
        },
        "driver_pickup_instructions": {
          "type": "string",
          "description": "Describes how a delivery driver should pick up orders from merchant."
        }
      },
      "description": "Contains order taking info for a merchant."
    },
    "PosAccountStatus": {
      "type": "object",
      "properties": {
        "merchant_status": {
          "type": "string",
          "description": "The merchant's current status concerning account creation or ability to receive orders in a machine-readable format",
          "deprecated": true
        },
        "merchant_status_descriptor": {
          "type": "string",
          "description": "The merchant's current status concerning account creation or ability to receive orders in a human-readable format",
          "deprecated": true
        },
        "pos_merchant_status": {
          "type": "string",
          "description": "The merchant's current status concerning account creation or ability to receive orders (online/offline)"
        },
        "reason": {
          "type": "string",
          "description": "Reason explaining why the merchant has a given status"
        },
        "holds_active_account": {
          "type": "boolean",
          "description": "Whether or not this merchant should be regarded as holding an active account with GrubHub"
        },
        "accepting_phone_orders": {
          "type": "boolean",
          "description": "Whether or not this merchant is currently capable of receiving orders by phone",
          "deprecated": true
        },
        "accepting_online_orders": {
          "type": "boolean",
          "description": "Whether or not this merchant is currently capable of receiving orders that have been transmitted online",
          "deprecated": true
        },
        "merchant_status_comments": {
          "type": "string",
          "description": "The reason that this merchant is in the status it is in, typically reserved for merchants not conducting business"
        }
      },
      "description": "The current state of the merchant with regards to work flow and how they are conducting business."
    },
    "PosDeliveryFee": {
      "type": "object",
      "properties": {
        "value": {
          "type": "integer",
          "description": "The value of the fee applied for a service, in percentage of total order value or US dollars.",
          "format": "int32"
        },
        "type": {
          "type": "string",
          "description": "Whether or not a fee value is applied as a percentage of order value or a whole amount of US dollars. Possible values are FLAT or PERCENT",
          "enum": [
            "FLAT",
            "PERCENT"
          ]
        }
      },
      "description": "A fee that is applied to a merchant for the delivery service."
    },
    "PosEstimates": {
      "type": "object",
      "properties": {
        "pickup_estimate_minutes": {
          "type": "integer",
          "description": "Default number of minutes that this merchant requires between confirming an order and it being ready for pickup, if applicable.",
          "format": "int32"
        },
        "delivery_estimate_minutes": {
          "type": "integer",
          "description": "Default number of minutes that this merchant requires between confirming an order and completion of delivery, if applicable.",
          "format": "int32"
        }
      },
      "description": "Pickup and delivery estimates."
    },
    "PosMerchantFulfillmentInfo": {
      "type": "object",
      "properties": {
        "pos_estimates": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/$defs/PosEstimates"
          },
          "description": "The merchant's pickup and delivery estimates."
        },
        "delivery_fee": {
          "$ref": "#/$defs/PosDeliveryFee"
        },
        "delivery_minimum": {
          "type": "number",
          "description": "The minimum dollar value a merchant requires for an order to be eligible for delivery.",
          "format": "double"
        },
        "active_delivery_areas": {
          "type": "array",
          "description": "A list of delivery areas including the delivery fee for each zone.",
          "items": {
            "$ref": "#/$defs/DeliveryArea"
          }
        }
      },
      "description": "Contains pickup and delivery info for a merchant."
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/grubhub-posmerchantdata"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

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

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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