OpheliaDocs
Search docs⌘K
DashboardCreate an account
Verticals

Dining

Provider-specific behavior for the dining vertical. See OpenTable and Resy for the fields and quirks unique to each provider.

"vertical": "dining"OpenTable and ResyOTP
termA cuisine, dish, or restaurant name, e.g. "sushi", "italian".lifecycleA dining search without providers searches OpenTable only; pass providers: ["resy"] to search Resy. OpenTable needs a card (metadata.payment) unless the venue is known not to: call POST /v1/availability/search with check_card_required: true, and if it answers card_required: false you can book without one. A booking with no card at a venue that needs one, or whose policy is still unknown, fails with error_code "missing_card". The card is only entered when the venue's form asks, and Ophelia never charges it. OpenTable also needs a first and last name in customer.name (a one-word name is refused with 400 missing_last_name). The reservation is then confirmed with a one-time code sent to the diner by SMS: the booking returns status "requires_action" with next_action.type = "otp"; submit the code to /continue to confirm. Resy differs on cards and sign-in; see the Resy page. party_size is required (1–20).