Empowering Restaurants through Integration

Follow

Merchant Data

The merchant data component provides basic information about restaurants and groups of restaurants. In the future, this component will be extended to allow for updating a merchant's Grubhub account information (e.g., delivery fees).

Paths

Get Merchant by Merchant ID

GET /pos/v1/merchant/{merchant_id}
Description

Returns summary information about a merchant. Will be extended in the future.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Responses
200
Successfully retrieved the merchant.

Get Configuration Group

GET /pos/v1/config/groups/{group_key}
Description

Returns a configuration group, including the merchant IDs included in the group. This group key can be used for polling orders and deliveries to avoid making separate requests for each merchant.

Path Parameters
group_key
label_outlineOptional
string
The group key for which to retrieve merchants.
Responses
200
Successfully retrieved group of merchants.

Get Internal / External ID Mappings

GET /pos/v1/merchant/{partner_id}/idmappings
Description

Returns the internal / external merchant ID mappings associated with your partner_id (which a customer includes in every API call), for either up to 100 external restaurant IDs (if the externalIds query parameter is populated and valid) or ALL the internal / external restaurant IDs (when the externalIds query parameter is not populated or not sent at all). You will have to have ingested a menu before this endpoint will return valuable information.

Path Parameters
partner_id
labelRequired
String
The partner ID for the restaurant or restaurant group.
Query Parameters
externalIds
label_outlineOptional
String
A string that can contain up to 100 `external_id` values separated by commas. This field can also be left empty or not provided at all.
Responses
200
OK.
Example
[
  {
    "partner_id": "XXXXXXXXXX",
    "internal_id": "12110000",
    "external_id": "1235",
    "type": "merchant"
  },
  {
    "partner_id": "XXXXXXXXXX",
    "internal_id": "12110001",
    "external_id": "1236",
    "type": "merchant"
  }
]

Get Fulfillment Info by Merchant ID

GET /pos/v1/merchant/{merchant_id}/fulfillment
Description

Returns a merchant's fulfillment info.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Responses
200
Successfully retrieved merchant's fulfillment info.

Get the delivery minimum by Merchant ID

GET /pos/v1/merchant/{merchant_id}/deliveryminimum
Description

Returns the merchant's delivery minimum.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Responses
200
Successfully retrieved the merchant's delivery minimum.

Update the delivery minimum by Merchant ID

PUT /pos/v1/merchant/{merchant_id}/deliveryminimum
Description

Updates a merchant's delivery minimum if they do not do managed delivery.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
body
labelRequired
The new delivery minimum value.
Responses
200
Successfully retrieved the merchant's delivery minimum.

(Deprecated) Get the delivery fee by Merchant Id

GET /pos/v1/merchant/{merchant_id}/fulfillment/deliveryfee
Description

Returns the merchant's delivery fee.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Responses
200
Successfully retrieved the merchant's delivery fee.

(Deprecated) Update the delivery fee by Merchant Id

PUT /pos/v1/merchant/{merchant_id}/fulfillment/deliveryfee
Description

Updates a merchant's delivery fee if they do not do managed delivery.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
body
labelRequired
The new delivery fee value.
Responses
200
Successfully retrieve the merchant's updated delivery fee.

Get delivery area fee by Merchant Id

GET /pos/v1/merchant/{merchant_id}/fulfillment/{delivery_area_id}/deliveryfee
Description

Returns the merchant's delivery fee for the area.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
delivery_area_id
labelRequired
UUID
Id for delivery area.
Responses
200
Successfully retrieved the merchant's delivery fee.

Update delivery area fee by Merchant Id

PUT /pos/v1/merchant/{merchant_id}/fulfillment/{delivery_area_id}/deliveryfee
Description

Updates a merchant's delivery fee for specified area.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
body
labelRequired
Delivery fee value.
Responses
200
Successfully retrieve the merchant's updated delivery fee.

Get the delivery areas for a merchant

GET /pos/v1/merchant/{merchantId}/fulfillment/deliveryboundaries
Description

Returns the merchant's delivery boundaries.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Responses
200
Successfully retrieved the merchant's delivery boundaries.

Update the delivery boundaries by Merchant ID

PUT /pos/v1/merchant/{merchantId}/fulfillment/deliveryboundaries
Description

Updates a merchant's delivery boundaires if they have delivery settings configured. Note that the body of this request must include the entire set of all delivery areas, as this change overwrites all current delivery zones. For example:

[
    {
        "name": "Delivery Area 1",
        "fee_cents": 899,
        "zone_type": "DINER",
        "geometry": "{\"type\":\"Polygon\",\"coordinates\":[[[-86.743567,34.827408],[-86.814128,34.811865],[-86.86572,34.769414],[-86.884518,34.711461],[-86.865549,34.653548],[-86.813957,34.611179],[-86.743567,34.595676],[-86.673177,34.611179],[-86.621585,34.653548],[-86.602616,34.711461],[-86.621414,34.769414],[-86.673006,34.811865],[-86.743567,34.827408]]]}"
    },
    {
        "name": "Delivery Area 4",
        "fee_cents": 799,
        "zone_type": "DINER",
        "geometry": "{\"type\":\"Polygon\",\"coordinates\":[[[-86.741867,34.611736],[-86.802292,34.624733],[-86.848984,34.661452],[-86.865463,34.710574],[-86.849327,34.762205],[-86.803665,34.798581],[-86.74324,34.812112],[-86.682816,34.798581],[-86.636575,34.761204],[-86.621704,34.71142],[-86.638184,34.661452],[-86.680756,34.626428],[-86.741867,34.611736]]]}"
    },
    {
        "name": "Delivery Area 3",
        "fee_cents": 799,
        "zone_type": "DINER",
        "geometry": "{\"type\":\"Polygon\",\"coordinates\":[[[-86.742897,34.639987],[-86.786842,34.649308],[-86.818085,34.675853],[-86.830788,34.711138],[-86.818771,34.747537],[-86.787186,34.773768],[-86.744614,34.782792],[-86.700325,34.773486],[-86.668053,34.747537],[-86.65638,34.711703],[-86.668053,34.67557],[-86.698608,34.650438],[-86.742897,34.639987]]]}"
    },
    {
        "name": "Delivery Area 2",
        "fee_cents": 699,
        "zone_type": "DINER",
        "geometry": "{\"type\":\"Polygon\",\"coordinates\":[[[-86.742897,34.668511],[-86.769505,34.6743],[-86.788902,34.690251],[-86.79594,34.711561],[-86.788902,34.733149],[-86.769676,34.749088],[-86.743927,34.754448],[-86.717663,34.748947],[-86.698437,34.733007],[-86.691227,34.71142],[-86.698265,34.689969],[-86.718178,34.674159],[-86.742897,34.668511]]]}"
    }
]
Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
body
labelRequired
The new delivery zones.
Responses
200
Successfully updated the delivery areas.

Update fulfillment estimates

PUT /pos/v1/merchant/{merchant_id}/fulfillment/estimates
Description

Updates the estimated time that the restaurant takes to fulfill an order for both pickup and delivery, separately.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
body
labelRequired
The estimated number of minutes to fulfill a delivery order and a pickup order, separately.
Responses
200
Successfully updated fulfillment estimates.

Get fulfillment estimates

GET /pos/v1/merchant/{merchant_id}/fulfillment/estimates
Description

Returns the estimated time that the restaurant takes to fulfill an order for both pickup and delivery, separately.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Query Parameters
order_type
label_outlineOptional
String
What kind of order this is. This can be one of the following: - "standard" - A regular, single diner order. - "catering" - A large order intended to provide food for multiple people and is often ordered by a corporate organization. - "group" - An order for multiple diners.
Responses
200
Successfully returned fulfillment estimates.

Update Pre-order confirmable window (in minutes).

PUT /pos/v1/merchant/{merchantId}/preorderwindow
Description

The Pre-order confirmable window determines when Grubhub should transition a scheduled order from ANTICIPATED status to RESTAURANT_CONFIRMABLE with relation to the desired fulfillment time. For example, a merchant with a window of 120 minutes would receive the RESTAURANT_CONFIRMABLE webhook 2 hours before desired fulfillment time giving them plenty of time to prep the order. For restaurants with faster prep time, this window is usually very small to guarantee food quality.

Path Parameters
merchantId
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
preorderwindow
labelRequired
integer
Duration in which a preorder can be sent to the restaurant for confirmation.
Responses
422
UNKNOWN
Unprocessable Entity - Pre-order confirmable window (in minutes) is disabled for merchant.

Update tax rates

PUT /pos/v1/merchant/{merchant_id}/taxrate
Description

Updates the overall tax rates for a merchant. These rates will be used for any menu item or other taxable charge that does not have its own tax rate configuration.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
sales_tax
labelRequired
Double
The default tax rate to apply to all menu items associated with this merchant.
Responses
200
Successfully updated tax information.

Get tax rates

GET /pos/v1/merchant/{merchant_id}/taxrate
Description

Returns the overall tax rates for a merchant. These rates will be used for any menu item or other taxable charge that does not have its own tax rate configuration.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Responses
200
Tax information for this merchant.

Toggle scheduled ordering capability for a merchant.

PUT /pos/v1/merchant/{merchant_id}/scheduledorders
Description

Allows an individual merchant to opt in/out of scheduled ordering.

Path Parameters
merchant_id
labelRequired
string
The Grubhub ID for the restaurant OR the Partner restaurant ID (specific configurations are required to enable one or the other).
Body
Request merchant to opt-in/opt-out
labelRequired
Request merchant to opt-in/opt-out from scheduled orders
Responses
200
string
Successfully updated restaurant_tags.

Fetch Grubhub tax categories that can be applied on a menu.

GET /pos/v1/tax-categories
Description

Fetch Grubhub internal tax classifications.

Responses
200
Successfully fetched tax categories.
404
UNKNOWN
Tax Categories not found - If there is no tax category found.

Set Restaurant Online/Offline for an individual merchant

PUT /pos/v1/merchant/{merchant_id}/pos-status
Description

Provides the ability to set a restaurant online/offline on Grubhub. When offline, the restaurant will not be listed on the site; when online, the restaurant will be listed on the site and be able to accept orders.

Path Parameters
merchant_id
labelRequired
string
The short Grubhub ID for the merchant. Corresponds to a single location.
Body
Request store to be OFFLINE/ONLINE
labelRequired
Request body to set store OFFLINE
Responses
204
UNKNOWN
Successfully set the restaurant as online/offline on Grubhub

Set Restaurant Online/Offline for a batch of merchants

PUT /pos/v1/merchant/pos-status
Description

Provides the ability to set a batch of restaurants online/offline on Grubhub. When offline, the restaurant will not be listed on the site; when online, the restaurant will be listed on the site and be able to accept orders.

Body
body
labelRequired
Batch of merchant Pos Status requests.
Responses
422
UNKNOWN
Unprocessable Entity - If there are duplicate merchant IDs in the provided list. - If the number of items in batch exceeds the maximum limit allowed. - If there are no items provided.

Get Restaurant Online/Offline Batch Status

GET /pos/v1/merchant/pos-status/{batch_id}/status
Description

Returns the status of the merchant online/offline batch together with the progress for each individual merchant, or, if present, only for the specified merchant ID.

Path Parameters
batch_id
labelRequired
UUID
The batch unique identifier.
Query Parameters
merchant_id
label_outlineOptional
string
The merchant ID to get the processing status for.
Responses
200
Batch status was successfully retrieved.
404
UNKNOWN
Batch with specified ID does not exist.

Batch Update Merchant Live Integration Status

PUT /pos/v1/merchant/integrationlive
Description

Enables / disables live integration status for a batch of merchants. A merchant can have live integration enabled only if it has at least one successful ingestion completed and it's not a GH Direct merchant.

Body
body
labelRequired
Batch of merchant integration requests.
Responses
422
UNKNOWN
Unprocessable Entity - If there are duplicate merchant IDs in the provided list. - If the number of items in batch exceeds the maximum limit allowed. - If there are no items provided.

Get Merchant Live Integration Batch Status

GET /pos/v1/merchant/integrationlive/{batch_id}/status
Description

Returns the status of the merchant live integration batch together with the progress for each individual merchant, or, if present, only for the specified merchant ID.

Path Parameters
batch_id
labelRequired
UUID
The live integration bulk processing batch unique identifier.
Query Parameters
merchant_id
label_outlineOptional
string
The merchant ID to get the processing status for.
Responses
200
Batch status was successfully retrieved.
404
UNKNOWN
Batch with specified ID does not exist.

Batch Update Merchant properties.

PUT /pos/v1/merchant/properties
Description

Updates Merchant properties for multiple merchants or individual merchant at a time.

Body
body
labelRequired
Request containing the merchant ID/s and the properties to be applied for all of them.
Responses
422
UNKNOWN
Unprocessable Entity - If there are duplicate merchant IDs in the provided list. - If the number of merchant IDs in batch exceeds the maximum limit allowed. - If there are no merchant IDs provided.

Get Merchant Properties Update Batch Status

GET /pos/v1/merchant/properties/{batch_id}/status
Description

Returns the status of the merchant properties update batch together with the progress for each individual merchant, or, if present, only for the specified merchant ID.

Path Parameters
batch_id
labelRequired
UUID
The merchant properties bulk processing batch unique identifier.
Query Parameters
merchant_id
label_outlineOptional
string
The merchant ID to get the processing status for.
Responses
200
Batch status was successfully retrieved.
404
UNKNOWN
Batch with specified ID does not exist.

Models

Account Status

The status of the merchant on Grubhub.

Properties
merchant_status
labelRequired
The merchant's current status on Grubhub.
merchant_status_descriptor
labelRequired
string
Human-friendly description of the merchant_status
holds_active_account
labelRequired
boolean
Whether or not the merchant's business account with Grubhub is active.
accepting_phone_orders
labelRequired
boolean
Whether or not the merchant is configured to accept phone orders through Grubhub.
accepting_online_orders
labelRequired
boolean
Whether or not the merchant is configured to accept online orders through Grubhub. This will be TRUE if the merchant is configured for online ordering, but the restaurant is not currently accepting orders due to a repeating schedule or schedule override rule.
merchant_status_comments
label_outlineOptional
string
The reason the merchant is in the status it is in. Typically reserved for merchants not currently active.

Address

Physical address.

Properties
street_address
labelRequired
string
Street address line 1
street_address_2
label_outlineOptional
string
Street address line 2
locality
labelRequired
string
City, town, village, or any variant thereof.
region
labelRequired
string
State, province, or any variant thereof. 2-digit ISO code for US states.
postal_code
labelRequired
string
ISO standard postal code. Varies by country.
county
label_outlineOptional
string
County, parish, or any variant thereof.
county_id
labelRequired
integer
To be deprecated. The Grubhub unique ID for the county this address is located within.
country
label_outlineOptional
string
Country, territory, or any variant thereof. Default is USA.
market
labelRequired
string
Likely to be deprecated. The Grubhub market that this address is within.
time_zone
label_outlineOptional
string
Human-readable description of what time zone the address is within.
geo_location
label_outlineOptional
Latitude and longitude for this address.

Bulk Processing status associated to a merchantID

Merchant ID and their bulk processing status, including additional information in case of NOT_FOUND / INVALID statuses.

Properties
merchant_id
label_outlineOptional
string
The Grubhub(internal) or Partner(external) merchant ID.
status
label_outlineOptional
string
Status of the bulk processing operation, one of SUCCESSFUL, NOT_FOUND, INVALID, FAILED, FAILED_TO_QUEUE, IN_PROGRESS, REQUESTED.
details
label_outlineOptional
string
Additional details present in case of a NOT_FOUND / INVALID status.
Example
{
  "merchant_id": "111111",
  "status": "NOT_FOUND",
  "details": "Merchant with ID=111111 not found."
}
{
  "merchant_id": "222222",
  "status": "SUCCESSFUL",
}

Config Group

A group of merchants sharing a common POS configuration in Grubhub. E.g., Merchants who are configured for POS Partner X.

Properties
group_name
label_outlineOptional
string
The name of the group
merchant_ids
labelRequired
List<string>
A list of merchant IDs in the configuration group.

Delivery Area

Delivery area configuration settings.

Properties
id
label_outlineOptional
UUID
Id for delivery area.
name
labelRequired
string
A name for the delivery zone.
fee_cents
labelRequired
big_decimal
The delivery cost for this delivery zone.
zone_type
label_outlineOptional
enum
Deprecated. The type of delivery zone (i.e. Diner or Catering). Defaults to Diner.
geometry
labelRequired
string
GeoJSON String representing the boundaries of the delivery area. A given merchant may have multiple of these.

Delivery Area Fee

Value of the fee that is applied to an order for the delivery service.

Type

integer

Delivery Fee

A fee that is applied to a merchant for the delivery service.

Properties
value
label_outlineOptional
integer
The value of the fee applied for a service, in percentage of total order value or US dollars.
type
label_outlineOptional
enum
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

Delivery Minimum

The minimum dollar value a merchant requires for an order to be eligible for delivery.

Type

Double

Estimates

Pickup and delivery estimates.

Properties
pickup_estimate_minutes
label_outlineOptional
integer
Default number of minutes that this merchant requires between confirming an order and it being ready for pickup, if applicable.
delivery_estimate_minutes
label_outlineOptional
integer
Default number of minutes that this merchant requires between confirming an order and completion of delivery, if applicable.

External ID map

Information about internal merchant ID mappings for an external_id.

Properties
partner_id
label_outlineOptional
String
The ID of the POS partner to whom the requested `external_id` belongs.
internal_id
label_outlineOptional
String
The identifier of the given `external_id` within the Grubhub system. This identifier can be used to access specific information about that restaurant location.
external_id
label_outlineOptional
String
The requested external ID, which is a reference to a specific restaurant location.
type
label_outlineOptional
String
The type of the internal ID. This will almost always be "merchant".

Fulfillment estimate

Estimated pickup and delivery times for a restaurant.

Properties
pickup_estimate_minutes
label_outlineOptional
Integer
The estimated number of minutes that the restaurant needs to fulfill a pickup order.
delivery_estimate_minutes
label_outlineOptional
Integer
The estimated number of minutes that the restaurant needs to fulfill a delivery order.

Fulfillment estimate request

Estimated pickup and delivery times for a restaurant.

Properties
pickup_estimate_minutes
label_outlineOptional
Integer
The estimated number of minutes that the restaurant needs to fulfill a pickup order.
delivery_estimate_minutes
label_outlineOptional
Integer
The estimated number of minutes that the restaurant needs to fulfill a delivery order.;
order_type
label_outlineOptional
String
What kind of order this is. This can be one of the following: - "standard" - A regular, single diner order. - "catering" - A large order intended to provide food for multiple people and is often ordered by a corporate organization. - "group" - An order for multiple diners.

Geo Location

Latitude and longitude coordinates for a location.

Properties
lat
label_outlineOptional
number
Latitude coordinate
lng
label_outlineOptional
number
Longitude coordinate

Get tax categories response

The Grubhub Tax Classification Model.

Properties
code
label_outlineOptional
String
Tax category code which can be used to specify the tax category on a menu category or menu item.
description
label_outlineOptional
String
Description of this tax category.
deprecated
label_outlineOptional
boolean
Indicates whether or not this tax category is deprecated.
alternate_code
label_outlineOptional
String
If deprecated use this code instead.
subcategories
label_outlineOptional
PosTaxCategory
Subcategories of this tax category.

Merchant

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

Properties
merchant_id
label_outlineOptional
string
The short Grubhub ID for the merchant. Corresponds to a single location.
name
label_outlineOptional
string
The display name of the merchant.
account_status
label_outlineOptional
The status of the merchant on Grubhub.
address
label_outlineOptional
The physical address of the restaurant.
service_type
label_outlineOptional
Configuration in which the restaurant is able to provide food to diner
fulfillment_info
label_outlineOptional
Contains pickup and delivery info for a merchant.
managed_delivery
label_outlineOptional
boolean
Whether or not the merchant is managed delivery enabled.
order_processing_info
label_outlineOptional
Contains order processing info such as scheduled ordering toggle.

Merchant Batch Operation Response

Reference ID to a batch of merchant operation requests and all the associated merchant IDs.

Properties
batch_id
label_outlineOptional
UUID
A value that identifies a batch of merchant operation requests.
merchant_ids
label_outlineOptional
List<string>
A list of merchant IDs representing each request that's going to be processed.

Merchant Batch Operation Status

Describes the state (completed or not) of an entire batch of merchant operation requests together with the status of each individual request associated to this batch.

Properties
batch_id
label_outlineOptional
UUID
A value that identifies a batch of merchant operation requests.
processing_complete
label_outlineOptional
boolean
True if all requests in this batch have been processed (successful or not), false otherwise.
merchant_statuses
label_outlineOptional
List containing the processing status for each merchant ID, including additional information in case of a NOT_FOUND / INVALID status.
merchant_status
label_outlineOptional
Map
Deprecated - will be replaced by merchant_statuses array. Associations of merchant IDs and their processing status.
Example
{
    "batch_id": "T58amO2BRYqV6-HD0hb2Aw",
    "processing_complete": true,
    "merchant_status": {
        "100000": "SUCCESSFUL",
        "111111": "NOT_FOUND",
        "222222": "INVALID",
        "333333": "FAILED",
        "444444": "FAILED_TO_QUEUE",
        "555555": "IN_PROGRESS",
        "666666": "REQUESTED"
    },
    "merchant_statuses": [
        {
            "merchant_id": "100000",
            "status": "SUCCESSFUL"
        },
        {
            "merchant_id": "111111",
            "status": "NOT_FOUND",
            "details": "Merchant with ID=111111 not found."
        },
        {
            "merchant_id": "222222",
            "status": "INVALID",
            "details": "Request to update merchant is invalid for merchantId=222222; validation errors: [client errors will go here]"
        },
        {
            "merchant_id": "333333",
            "status": "FAILED"
        },
        {
            "merchant_id": "444444",
            "status": "FAILED_TO_QUEUE"
        },
        {
            "merchant_id": "555555",
            "status": "IN_PROGRESS"
        },
        {
            "merchant_id": "666666",
            "status": "REQUESTED"
        }
    ]
}

Merchant Fulfillment Info

Contains pickup and delivery info for a merchant.

Properties
estimates
label_outlineOptional
The merchant's pickup and delivery estimates.
delivery_fee
label_outlineOptional
The fee that this merchant charges to perform a delivery.
delivery_minimum
label_outlineOptional
The minimum dollar value a merchant requires for an order to be eligible for delivery.
active_delivery_areas
label_outlineOptional
List<Unknown>
A list of delivery areas including the delivery fee for each zone.

Merchant Live Integration Request

Pair of merchant ID and its desired live integration status - true / false.

Properties
merchant_id
labelRequired
string
The short Grubhub ID for the merchant OR the Partner merchant ID.
enabled
labelRequired
boolean
Live integration status.

Merchant Property Type

Multiple properties or settings associated with Merchant ID/s. These are the possible properties that Merchant ID/s can have or update.

Properties
Diner_Offers_CurbSide_Pickup
label_outlineOptional
boolean
Describes whether merchant is opted in to curbside pickup or not.
Diner_PickUp_Contact_Phone
label_outlineOptional
string
Means of contacting a merchant when picking up curbside.
Diner_PickUp_Curbside_Instructions
label_outlineOptional
string
An additional information a merchant can optionally provide to curbside pickup diners.
Driver_PickUp_Instructions
label_outlineOptional
string
Describes how a delivery driver should pick up orders from merchant.
Special_Instructions_Disabled
label_outlineOptional
boolean
Describes whether this restaurant has disabled special ordering instructions or not.
Pickup_Estimate_minutes
label_outlineOptional
integer
The estimated number of minutes to fulfill a pickup order.
Delivery_Estimate_minutes
label_outlineOptional
integer
The estimated number of minutes to fulfill a delivery order.
Sales_Tax
label_outlineOptional
double
Sales tax of the state that the merchant is physically located.
Example
{
  "delivery_estimate_minutes" : 25,
  "pickup_estimate_minutes" : 45,
  "Sales_Tax" : 2.8,
  "driver_pickup_instructions" : "pickup instructions",
  "special_instructions_disabled" : true,
  "diner_pickup_contact_phone" : "9738746731",
  "diner_offers_curbside_pickup" : true,
  "diner_pickup_curbside_instructions" : "Sunny Street, 123"        
}

Merchant Property Update Request

Merchant ID/s and properties to update for multiple merchants or individual merchant at a time.

Properties
merchant_ids
labelRequired
List<array>
A list of IDs representing either the Grubhub or Partner merchant ID.
property_updates
labelRequired
Multiple properties associated with Merchant ID/s.
Example
{
  "merchant_ids": ["11111111","22222222"],
  "property_updates": {            
          "driver_pickup_instructions": "pickup instructions",
          "special_instructions_disabled": true,
          "sales_tax":1.9,
          "pickup_estimate_minutes":25,
          "diner_pickup_contact_phone":"9738746731",
          "diner_offers_curbside_pickup":true,
          "diner_pickup_curbside_instructions":"Sunny Street, 123"
  }

}    

Merchant Service Type

Configurations in which the restaurant is able to provide food to the diner.

Properties
service_type
label_outlineOptional
string
Restaurant configuration for providing food to diner. This can be one of the following: - "PICKUP" - Restaurant supports pickup only orders. - "DELIVERY" - Restaurant supports delivery only orders. - "DELIVERY AND PICKUP" - Restaurant supports both delivery and pickup orders.

MerchantPosStatusRequest

Request to set restaurant status online or offline.

Properties
merchant_id
labelRequired
string
The short Grubhub ID for the merchant OR the Partner merchant ID.
new_pos_status
labelRequired
Online or Offline status
reason
label_outlineOptional
string
Reason for status change

Order Processing Info

Contains order processing info of a merchant.

Properties
scheduled_orders
label_outlineOptional
boolean
Whether or not the merchant is opt-in scheduled ordering.

PosStatus

Restaurant status, whether online/offline.

Type

string

Possible Values
  • ONLINE
  • OFFLINE

PosStatusRequest

Request to set restaurant status online or offline.

Properties
new_pos_status
labelRequired
Online or Offline status
reason
label_outlineOptional
string
Reason for status change

Pre-order window (in minutes)

The Pre-order confirmable window determines when Grubhub should transition a scheduled order from ANTICIPATED status to RESTAURANT_CONFIRMABLE with relation to the desired fulfillment time. For example, a merchant with a window of 120 minutes would receive the RESTAURANT_CONFIRMABLE webhook 2 hours before desired fulfillment time giving them plenty of time to prep the order. For restaurants with faster prep time, this window is usually very small to guarantee food quality.

Type

integer

ScheduledOrdersUpdateRequest

Request to opt-in/opt-out from scheduled orders.

Properties
enabled
labelRequired
boolean
When it is true, the merchant will opt-in scheduled ordering; or the merchant will opt-out if it is false.

Tax rate

The tax rate for a merchant.

Type

Double