Reservations

With this endpoint, you can place a physical reservation at a restaurant with all the information provided. This endpoint will take an optional hold id if the partner previously placed a hold. If the restaurant requires a credit card hold, you will not be able to place a reservation and the API will return an error.

In this case, you should use the reserve_url provided in the hold endpoint or the opening endpoint to prompt the user for a reservation.

Note: All parameters being sent into the reservations endpoint needs to be sent as form data inside of the request body. They will not work as query parameters. Additionally, you will receive an error if you don’t pass the exact same reservation time, date and covers values as you supplied to the Holds endpoint.

cURL example with OAuth authentication:

    curl -X POST "https://api.yelp.com/v3/bookings/victors-french-bistro-test-listing-san-francisco/reservations" -H "authorization: Bearer {ACCESS_TOKEN}" -H "content-type: application/x-www-form-urlencoded"  -d "covers=2&date=2017-12-30&time=18%3A00&unique_id={UNIQUE_ID}&hold_id={HOLD_ID}&first_name={FIRST_NAME}&last_name={LAST_NAME}&email={EMAIL}&phone={PHONE}&notes={NOTES}"

Example 200 response:

{
    "confirmation_url": "https://www.yelp.com/reservations/dorsia-san-francisco-6/confirmed/36dbba9e-14a9-43f3-942d-7fdeddda74fc?checkout_success=1&adjust_creative=CPEhJkVcrc5wVgsRVvhEZQ&utm_campaign=yelp_api_v3&utm_medium=api_v3_reservations&utm_source=CPEhJkVcrc5wVgsRVvhEZQ",
    "notes": "test notes",
    "reservation_id": "e33b40ef-f6b1-4f17-987c-d850892564b",
}
Path Params
string
required

A unique identifier for a Yelp Business. Can be either a 22-character Yelp Business ID, or a Yelp Business Alias.

Body Params
integer
1 to 10

How many people are attending the reservation (min. value is 1; max value is 10).

string
required

The date for the reservation, format is YYYY-mm-dd

string
required

The time of the requested reservation, format is HH:MM.

string
required

The first name of the person making the reservation.

string
required

The last name of the person making the reservation.

string
required
length between 1 and 32

The phone number to attach to the reservation.

string
required

The email to attach to the reservation.

string
required

The Hold ID returned from the Holds endpoint.

string
required
length ≤ 300

This should be the user's device id or a unique user id to help tie together actions of the user on the API. Multiple requests to the Holds endpoint by the same user should use the same unique_id.

string

The additional party notes for the reservation.

Responses

Language
Credentials
Bearer
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json