Tool tree
A fictional, device-local hotel booking demo that recognizes retries instead of creating duplicate bookings.
Implementation
gradeNot graded
gradeNot graded
check_existing_hotel_bookingAnswer
Checks this browser and this deployment for the same fictional reservation conditions. It does not create, confirm, pay for, or cancel a booking.
View tool JSON
{
"name": "check_existing_hotel_booking",
"kind": "answer",
"impl": "imperative",
"description": "Checks this browser and this deployment for the same fictional reservation conditions. It does not create, confirm, pay for, or cancel a booking.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"hotelId",
"roomPlanId",
"checkInDate",
"checkOutDate",
"adults",
"rooms"
],
"properties": {
"hotelId": {
"type": "string",
"const": "fictional-kyoto-ryokan",
"description": "Fixed identifier for the fictional demonstration hotel."
},
"roomPlanId": {
"type": "string",
"const": "standard-flexible",
"description": "Fixed identifier for the fictional Standard Flexible plan."
},
"checkInDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-in calendar date in YYYY-MM-DD form."
},
"checkOutDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-out calendar date in YYYY-MM-DD form, 1 to 14 nights after check-in."
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Adult guests. Each room accommodates at most two adults."
},
"rooms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"description": "Number of fictional rooms."
},
"preferredLanguage": {
"type": "string",
"enum": [
"en",
"ja"
],
"default": "en",
"description": "Presentation language only; excluded from duplicate identity."
}
}
}
}prepare_hotel_bookingSensitive Action
Validates the fictional stay, price, and cancellation terms and stores only a 120-second preparation. A visible human action is still required to confirm it.
View tool JSON
{
"name": "prepare_hotel_booking",
"kind": "transact",
"impl": "imperative",
"description": "Validates the fictional stay, price, and cancellation terms and stores only a 120-second preparation. A visible human action is still required to confirm it.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"hotelId",
"roomPlanId",
"checkInDate",
"checkOutDate",
"adults",
"rooms"
],
"properties": {
"hotelId": {
"type": "string",
"const": "fictional-kyoto-ryokan",
"description": "Fixed identifier for the fictional demonstration hotel."
},
"roomPlanId": {
"type": "string",
"const": "standard-flexible",
"description": "Fixed identifier for the fictional Standard Flexible plan."
},
"checkInDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-in calendar date in YYYY-MM-DD form."
},
"checkOutDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-out calendar date in YYYY-MM-DD form, 1 to 14 nights after check-in."
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Adult guests. Each room accommodates at most two adults."
},
"rooms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"description": "Number of fictional rooms."
},
"preferredLanguage": {
"type": "string",
"enum": [
"en",
"ja"
],
"default": "en",
"description": "Presentation language only; excluded from duplicate identity."
}
}
}
}get_hotel_booking_statusAnswer
Returns the durable local state and the same confirmation number after a lost response. It never starts another booking effect.
View tool JSON
{
"name": "get_hotel_booking_status",
"kind": "answer",
"impl": "imperative",
"description": "Returns the durable local state and the same confirmation number after a lost response. It never starts another booking effect.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"hotelId",
"roomPlanId",
"checkInDate",
"checkOutDate",
"adults",
"rooms"
],
"properties": {
"hotelId": {
"type": "string",
"const": "fictional-kyoto-ryokan",
"description": "Fixed identifier for the fictional demonstration hotel."
},
"roomPlanId": {
"type": "string",
"const": "standard-flexible",
"description": "Fixed identifier for the fictional Standard Flexible plan."
},
"checkInDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-in calendar date in YYYY-MM-DD form."
},
"checkOutDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-out calendar date in YYYY-MM-DD form, 1 to 14 nights after check-in."
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Adult guests. Each room accommodates at most two adults."
},
"rooms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"description": "Number of fictional rooms."
},
"preferredLanguage": {
"type": "string",
"enum": [
"en",
"ja"
],
"default": "en",
"description": "Presentation language only; excluded from duplicate identity."
}
}
}
}preview_hotel_cancellationAnswer
Returns the free-cancellation deadline and estimated fee without changing or cancelling the fictional booking.
View tool JSON
{
"name": "preview_hotel_cancellation",
"kind": "answer",
"impl": "imperative",
"description": "Returns the free-cancellation deadline and estimated fee without changing or cancelling the fictional booking.",
"inputSchema": {
"type": "object",
"additionalProperties": false,
"required": [
"hotelId",
"roomPlanId",
"checkInDate",
"checkOutDate",
"adults",
"rooms"
],
"properties": {
"hotelId": {
"type": "string",
"const": "fictional-kyoto-ryokan",
"description": "Fixed identifier for the fictional demonstration hotel."
},
"roomPlanId": {
"type": "string",
"const": "standard-flexible",
"description": "Fixed identifier for the fictional Standard Flexible plan."
},
"checkInDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-in calendar date in YYYY-MM-DD form."
},
"checkOutDate": {
"type": "string",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
"description": "Check-out calendar date in YYYY-MM-DD form, 1 to 14 nights after check-in."
},
"adults": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"description": "Adult guests. Each room accommodates at most two adults."
},
"rooms": {
"type": "integer",
"minimum": 1,
"maximum": 2,
"description": "Number of fictional rooms."
},
"preferredLanguage": {
"type": "string",
"enum": [
"en",
"ja"
],
"default": "en",
"description": "Presentation language only; excluded from duplicate identity."
}
}
}
}