
Opentable (Extended)
Pricing
$20.00/month + usage

Opentable (Extended)
Get Search results, Restaurants and Reservation availability from OpenTable. It's fast and costs little.
0.0 (0)
Pricing
$20.00/month + usage
4
Total users
9
Monthly users
3
Runs succeeded
>99%
Issues response
1.7 days
Last modified
2 days ago
Wrong table availability results returned. Did a good job on step 1 and step 2 though
Open
This is working better than before because it doesn't fail anymore. but it still needs work.
I only care about one hotel
If you look at any of the runs i did and compare them against https://www.opentable.com/r/charmaines-san-francisco you will see that it never matches up. Not sure if this is a parsing issue or if Open Table is sending back nonsense response.
something must be wrong on the last steps because the table will say 5 items and then the json code only has 2 times that don't match with opentable.com inventory.
gangling_gecko
gangling_gecko
[ { "isAvailable": false, "link": "", "availableAt": "" }, { "isAvailable": false, "link": "", "availableAt": "" }, { "isAvailable": true, "timeOffsetMinutes": 0, "slotHash": "356910080", "pointsType": "Standard", "pointsValue": 100, "hasPrivateDiningAvailability": false, "availableSpaceIds": [], "experienceIds": [], "slotAvailabilityToken": "eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ", "attributes": [ "default" ], "isMandatory": false, "isMandatoryBySeating": [ { "tableCategory": "default", "isMandatory": false } ], "experiencesBySeating": [], "redemptionTier": "DineAnywhere", "type": "Standard", "diningAreasBySeating": [ { "inventoryAccessRuleMap": null, "__typename": "SlotDiningArea" } ], "availableAt": "17:30", "link": "https://www.opentable.com/booking/seating-options?availabilityToken=eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ&correlationId=2890d3f0-e393-42a0-8c70-fd877f1b1fd5&creditCardRequired=true&dateTime=2025-08-05T17%3A30%3A00&partySize=2&points=100&pointsType=Standard&resoAttribute=unselected&rid=1080652&slotHash=356910080&isModify=false&isMandatory=false&cfe=true" }, { "isAvailable": true, "timeOffsetMinutes": 15, "slotHash": "2024313529", "pointsType": "Standard", "pointsValue": 100, "hasPrivateDiningAvailability": false, "availableSpaceIds": [], "experienceIds": [], "slotAvailabilityToken": "eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ", "attributes": [ "default" ], "isMandatory": false, "isMandatoryBySeating": [ { "tableCategory": "default", "isMandatory": false } ], "experiencesBySeating": [], "redemptionTier": "DineAnywhere", "type": "Standard", "diningAreasBySeating": [ { "inventoryAccessRuleMap": null, "__typename": "SlotDiningArea" } ], "availableAt": "17:00", "link": "https://www.opentable.com/booking/seating-options?availabilityToken=eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ&correlationId=2890d3f0-e393-42a0-8c70-fd877f1b1fd5&creditCardRequired=true&dateTime=2025-08-05T17%3A00%3A00&partySize=2&points=100&pointsType=Standard&resoAttribute=unselected&rid=1080652&slotHash=2024313529&isModify=false&isMandatory=false&cfe=true" }, { "isAvailable": true, "timeOffsetMinutes": 30, "slotHash": "4124731647", "pointsType": "Standard", "pointsValue": 100, "hasPrivateDiningAvailability": false, "availableSpaceIds": [], "experienceIds": [], "slotAvailabilityToken": "eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ", "attributes": [ "default" ], "isMandatory": false, "isMandatoryBySeating": [ { "tableCategory": "default", "isMandatory": false } ], "experiencesBySeating": [], "redemptionTier": "DineAnywhere", "type": "Standard", "diningAreasBySeating": [ { "inventoryAccessRuleMap": null, "__typename": "SlotDiningArea" } ], "availableAt": "18:00", "link": "https://www.opentable.com/booking/seating-options?availabilityToken=eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ&correlationId=2890d3f0-e393-42a0-8c70-fd877f1b1fd5&creditCardRequired=true&dateTime=2025-08-05T18%3A00%3A00&partySize=2&points=100&pointsType=Standard&resoAttribute=unselected&rid=1080652&slotHash=4124731647&isModify=false&isMandatory=false&cfe=true" } ]
it says 5 items but only has 3 time slots
gangling_gecko
Charmains has 5:00, 5:15, and 5:30 available.
Instead the actor response is 5:00, 5:30, 6:00.
Could open table be scrambling the output?
gangling_gecko
three slots at the same time instead of returning what open table says

Thanks for your feedback. We've made the following changes:
-
Use the exact restaurant name to retrieve availability slots. For example: Charmaine’s at San Francisco Proper
-
Added a new "summary" key that includes all booking times.
"summary": [ { "availableAt": "17:00", "link": "https://www.opentable.com/booking/seating-options?availabilityToken=eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ&correlationId=34f75aeb-efa4-4804-9332-04f89d290ad1&creditCardRequired=true&dateTime=2025-08-05T17%3A00%3A00&partySize=2&points=100&pointsType=Standard&resoAttribute=unselected&rid=1080652&slotHash=2024313529&isModify=false&isMandatory=false&cfe=true", "type": "Standard" }, { "availableAt": "17:30", "link": "https://www.opentable.com/booking/seating-options?availabilityToken=eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ&correlationId=34f75aeb-efa4-4804-9332-04f89d290ad1&creditCardRequired=true&dateTime=2025-08-05T17%3A30%3A00&partySize=2&points=100&pointsType=Standard&resoAttribute=unselected&rid=1080652&slotHash=356910080&isModify=false&isMandatory=false&cfe=true", "type": "Standard" }, { "availableAt": "18:00", "link": "https://www.opentable.com/booking/seating-options?availabilityToken=eyJ2IjoyLCJtIjoxLCJwIjowLCJjIjozMjUzODYxLCJzIjowLCJuIjowfQ&correlationId=34f75aeb-efa4-4804-9332-04f89d290ad1&creditCardRequired=true&dateTime=2025-08-05T18%3A00%3A00&partySize=2&points=100&pointsType=Standard&resoAttribute=unselected&rid=1080652&slotHash=4124731647&isModify=false&isMandatory=false&cfe=true", "type": "Standard" } ]
That being said, we were unable to replicate the issue — for 2025-08-05, the system returns 17:00, 17:30, and 18:00 as expected.
Please note that OpenTable may return the same time slot multiple times with different hashes. This is standard behavior.