Check if the given business can currently fulfill an order.
This call will be made by Yelp to the Partner when the User is on the biz details page and wants to enter the ordering flow. The information the user enters will be validated and posted to this endpoint.
If the Partner responds that the service is available within the constraints the User provided, then Yelp will take the user to the iframe flow where they can continue building the Order.
If the User-supplied address is ambiguous, the Partner should return a list of address_suggestions
and specify availability_status
as not_deliverable_ambiguous_address
.
Request: See Opportunity resource for more info.
Example of using multiple availability constraints:
In this example a user attempts to reorder order 1BA41E8A0F4234A3B7DF4B232E1E9C87
and have it delivered to 140 New Montgomery St. San Francisco, CA 94105
(two availability constraints: RepeatOrderConstraint
and CustomerAddressConstraint
)
{
"opportunity_token": "<uuid_hex_identifier>",
"partner_business_id": "partner business id",
"request_time": "2018-01-27T10:32:50+00:00",
"service_type": "food",
"selected_option": "at_customer",
"availability_constraints": [
{
"object": "CustomerAddressConstraint",
"customer_address_str": "140 New Montgomery St. San Francisco, CA 94105",
"customer_address": {
"object": "Address",
"address1": "140 New Montgomery St",
"city": "San Francisco",
"region": "CA",
"postal_code": "94105",
"country": "US"
}
},
{
"object": "RepeatOrderConstraint",
"reorder_yelp_order_id": "1BA41E8A0F4234A3B7DF4B232E1E9C87"
}
]
}
The recommended precedence order for checking constraints is as follows:
- service type
unsupported
unsupported_by_business
- hours
not_available_outside_of_hours
- address
not_available_outside_of_area
not_available_invalid_address
not_available_ambiguous_address
- re-order
not_available_cannot_fulfill_reorder
Note: not_available_other
can be used in case an unexpected situation arises.
If none of the above are encountered then return
available_can_fulfill_reorder
- if aRepeatOrderConstraint
is specifiedavailable
- if aRepeatOrderConstraint
is not specified