opentable_modify
Change an existing OpenTable reservation to a new date, time, or party size using a preview token, preserving the confirmation number and confirming the new slot's policy.
Instructions
Modify an existing OpenTable reservation in place. Requires the existing reservation's identity (restaurant_id + confirmation_number + security_token) plus a fresh modify_token from opentable_modify_preview — preview is mandatory because the new slot's cancellation policy / CC re-hold can differ from the original. Submits /dapi/booking/make-reservation with isModify: true + the existing confirmation_number + security_token; OpenTable preserves confirmation_number across modifies but may regenerate reservation_id and security_token. dining_area_id is OPTIONAL — the modify_token already carries the area opentable_modify_preview resolved; pass it only to restate it (mismatch is refused). Returns the same shape as opentable_book plus was_modified: true so the agent can phrase the user confirmation accurately. For Listing-type restaurants there's no slot to lock — agents should check opentable_get_restaurant.bookable first. Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds; the prompt names the restaurant, the current and new slot, and the card re-hold (see MCP_CONFIRM_MODE).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | YYYY-MM-DD (the NEW date) | |
| time | Yes | HH:MM (24h) — the NEW time | |
| slot_hash | Yes | slot_hash from opentable_find_slots for the NEW slot | |
| party_size | Yes | ||
| confirmToken | No | ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation. | |
| modify_token | No | REQUIRED. From opentable_modify_preview. No no-token path — the new slot's policy + CC re-hold can differ from the original. | |
| experience_id | No | Optional tamper-check signal. When set, must match the experienceId baked into modify_token. | |
| restaurant_id | Yes | ||
| dining_area_id | No | Optional. The modify_token carries the dining area preview resolved; when restated here it must match the token. | |
| security_token | Yes | ||
| reservation_token | Yes | slot_availability_token from opentable_find_slots for the NEW slot | |
| confirmation_number | Yes |