Tool tree
gradeNot graded
page: Every page
get_restaurant_infoAnswer
Address, phone, hours, nightly specials, booking rules, roof, dress code and how to get to Cantina Rooftop, a Mexican rooftop restaurant in Hell's Kitchen, NYC. Not the dishes: use get_menu.
View tool JSON
{
"name": "get_restaurant_info",
"kind": "answer",
"impl": "imperative",
"description": "Address, phone, hours, nightly specials, booking rules, roof, dress code and how to get to Cantina Rooftop, a Mexican rooftop restaurant in Hell's Kitchen, NYC. Not the dishes: use get_menu.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
},
"page": "/"
}get_menuAnswer
Current dishes and drinks with prices, by part of the menu. Optionally filter by a word, such as birria or mezcal.
View tool JSON
{
"name": "get_menu",
"kind": "answer",
"impl": "imperative",
"description": "Current dishes and drinks with prices, by part of the menu. Optionally filter by a word, such as birria or mezcal.",
"inputSchema": {
"type": "object",
"properties": {
"part": {
"type": "string",
"enum": [
"dinner",
"brunch",
"drinks",
"dessert"
],
"description": "Leave out for the whole menu"
},
"search": {
"type": "string",
"maxLength": 60,
"description": "Optional word to look for in names and descriptions"
}
},
"additionalProperties": false
},
"page": "/"
}check_availabilityAnswer
Times we take reservations on a date, for parties of 2 to 8, plus the next open date when that day has none. Call this before create_reservation. For 9 or more use request_large_party.
View tool JSON
{
"name": "check_availability",
"kind": "answer",
"impl": "imperative",
"description": "Times we take reservations on a date, for parties of 2 to 8, plus the next open date when that day has none. Call this before create_reservation. For 9 or more use request_large_party.",
"inputSchema": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD, New York time"
},
"party_size": {
"type": "integer",
"minimum": 2,
"maximum": 8,
"description": "Guests, 2 to 8"
},
"offer": {
"type": "string",
"enum": [
"taco-tuesday",
"bottomless-brunch",
"karaoke-night"
],
"description": "Optional: book a weekly special. Leave out for a regular table."
}
},
"required": [
"date"
],
"additionalProperties": false
},
"page": "/"
}create_reservationSensitive Action
Books a table for 2 to 8 guests. Free, no card and no deposit. Call only when the guest asked you to book these details. By booking, the guest agrees to receive a text from Cantina Rooftop about this reservation; tell them. Returns a booking_token for change_reservation. Booking again for the same guest within 2 hours updates that booking.
View tool JSON
{
"name": "create_reservation",
"kind": "transact",
"impl": "imperative",
"description": "Books a table for 2 to 8 guests. Free, no card and no deposit. Call only when the guest asked you to book these details. By booking, the guest agrees to receive a text from Cantina Rooftop about this reservation; tell them. Returns a booking_token for change_reservation. Booking again for the same guest within 2 hours updates that booking.",
"inputSchema": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"maxLength": 100
},
"last_name": {
"type": "string",
"maxLength": 100
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string",
"description": "Guest's mobile, 10 to 15 digits"
},
"preferred_language": {
"type": "string",
"enum": [
"en",
"es"
],
"default": "en"
},
"occasion": {
"type": "string",
"maxLength": 200,
"description": "Optional: birthday, anniversary, a request for the team"
},
"agent_name": {
"type": "string",
"maxLength": 40,
"description": "Optional: the assistant making this call, such as ChatGPT or Claude"
},
"party_size": {
"type": "integer",
"minimum": 2,
"maximum": 8,
"description": "Guests, 2 to 8"
},
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD, New York time"
},
"time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "24-hour HH:mm, from check_availability"
},
"offer": {
"type": "string",
"enum": [
"taco-tuesday",
"bottomless-brunch",
"karaoke-night"
],
"description": "Optional: book a weekly special. Leave out for a regular table."
},
"guest_confirmed": {
"type": "boolean",
"const": true,
"description": "true only when the guest asked you to book these exact details"
}
},
"required": [
"first_name",
"last_name",
"email",
"phone",
"party_size",
"date",
"time",
"guest_confirmed"
],
"additionalProperties": false
},
"page": "/"
}get_reservationAnswer
The current party size, date, time and status of a booking, from its booking_token.
View tool JSON
{
"name": "get_reservation",
"kind": "answer",
"impl": "imperative",
"description": "The current party size, date, time and status of a booking, from its booking_token.",
"inputSchema": {
"type": "object",
"properties": {
"booking_token": {
"type": "string",
"maxLength": 300
}
},
"required": [
"booking_token"
],
"additionalProperties": false
},
"page": "/"
}change_reservationSensitive Action
Changes party size, date, time or note on a booking, from its booking_token. Send every field, changed or not. To cancel, the guest calls (212) 957-1700.
View tool JSON
{
"name": "change_reservation",
"kind": "transact",
"impl": "imperative",
"description": "Changes party size, date, time or note on a booking, from its booking_token. Send every field, changed or not. To cancel, the guest calls (212) 957-1700.",
"inputSchema": {
"type": "object",
"properties": {
"booking_token": {
"type": "string",
"maxLength": 300
},
"party_size": {
"type": "integer",
"minimum": 2,
"maximum": 8,
"description": "Guests, 2 to 8"
},
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD, New York time"
},
"time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "24-hour HH:mm, from check_availability"
},
"occasion": {
"type": "string",
"maxLength": 200,
"description": "Optional: birthday, anniversary, a request for the team"
},
"guest_confirmed": {
"type": "boolean",
"const": true,
"description": "true only when the guest asked you to book these exact details"
}
},
"required": [
"booking_token",
"party_size",
"date",
"time",
"guest_confirmed"
],
"additionalProperties": false
},
"page": "/"
}request_large_partySensitive Action
Sends the team a request for a party of 9 or more. It is a request, not a booked table: the team replies. For 2 to 8 use create_reservation.
View tool JSON
{
"name": "request_large_party",
"kind": "transact",
"impl": "imperative",
"description": "Sends the team a request for a party of 9 or more. It is a request, not a booked table: the team replies. For 2 to 8 use create_reservation.",
"inputSchema": {
"type": "object",
"properties": {
"first_name": {
"type": "string",
"maxLength": 100
},
"last_name": {
"type": "string",
"maxLength": 100
},
"email": {
"type": "string",
"format": "email"
},
"phone": {
"type": "string",
"description": "Guest's mobile, 10 to 15 digits"
},
"preferred_language": {
"type": "string",
"enum": [
"en",
"es"
],
"default": "en"
},
"occasion": {
"type": "string",
"maxLength": 200,
"description": "Optional: birthday, anniversary, a request for the team"
},
"agent_name": {
"type": "string",
"maxLength": 40,
"description": "Optional: the assistant making this call, such as ChatGPT or Claude"
},
"party_size": {
"type": "integer",
"minimum": 9,
"maximum": 2000
},
"date": {
"type": "string",
"format": "date",
"description": "YYYY-MM-DD, New York time"
},
"time": {
"type": "string",
"pattern": "^([01]\\d|2[0-3]):[0-5]\\d$",
"description": "24-hour HH:mm, from check_availability"
},
"guest_confirmed": {
"type": "boolean",
"const": true,
"description": "true only when the guest asked you to book these exact details"
}
},
"required": [
"first_name",
"last_name",
"email",
"phone",
"party_size",
"date",
"guest_confirmed"
],
"additionalProperties": false
},
"page": "/"
}