verify_booking
Submits the 6-digit code the customer received. On success the booking moves to its next step (payment, business approval or confirmed) and an accessToken is returned once. At most 5 attempts per hold.
Scope & access
Follow the credential fields below. Public discovery does not require a login; private booking operations require the indicated token.
This operation is not advertised as idempotent. Do not assume repeating it has no further effects.
Parameters
These are the directory endpoint parameters. Business endpoints scope public discovery to the published business; owner calls still require businessId. Inspect tools/list on your endpoint for the exact schema.
holdIdRequiredholdId: the holdId returned by create_hold, e.g. "bkg_01j…"
codeRequiredcode: the 6-digit code the customer received, as a string, e.g. "482913"
Example call
Pass this object to the MCP client's callTool method. Replace placeholders with returned IDs, saved credentials and the customer's details; use future dates appropriate to their request.
{
"name": "verify_booking",
"arguments": {
"holdId": "<holdId>",
"code": "<customer-provided-six-digit-code>"
}
}JSON schemas
Nested fields, formats, enums and constraints are included in the complete schemas. Successful data is returned in structuredContent. SDK input validation and domain errors use different error shapes.
Input schemaJSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"holdId": {
"type": "string",
"minLength": 1,
"description": "holdId: the holdId returned by create_hold, e.g. \"bkg_01j…\""
},
"code": {
"description": "code: the 6-digit code the customer received, as a string, e.g. \"482913\"",
"type": [
"string",
"number"
]
}
},
"required": [
"holdId",
"code"
]
}Output schemaJSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"bookingId": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"held",
"pending_verification",
"pending_payment",
"pending_approval",
"confirmed",
"cancelled",
"expired",
"no_show",
"completed"
]
},
"nextStep": {
"type": "string"
},
"message": {
"type": "string"
},
"accessToken": {
"description": "Returned once after verification or when verification is not required. Store securely for booking management.",
"type": "string"
},
"total": {
"type": "object",
"properties": {
"amountMinor": {
"type": "number"
},
"currency": {
"type": "string"
},
"formatted": {
"type": "string"
}
},
"required": [
"amountMinor",
"currency",
"formatted"
],
"additionalProperties": false
},
"depositDue": {
"type": "object",
"properties": {
"amountMinor": {
"type": "number"
},
"currency": {
"type": "string"
},
"formatted": {
"type": "string"
}
},
"required": [
"amountMinor",
"currency",
"formatted"
],
"additionalProperties": false
},
"paymentUrl": {
"description": "Customer must open this URL to pay; do not collect payment credentials in chat.",
"type": "string"
},
"expiresAt": {
"type": "string"
},
"verification": {
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"destination": {
"type": "string"
},
"expiresAt": {
"type": "string"
}
},
"required": [
"channel",
"destination",
"expiresAt"
],
"additionalProperties": false
}
},
"required": [
"bookingId",
"status",
"nextStep",
"message",
"total",
"depositDue"
],
"additionalProperties": {}
}Behavior annotationsMCP
{
"readOnlyHint": false,
"destructiveHint": false,
"idempotentHint": false,
"openWorldHint": false
}Errors & next steps
Check isError before reading a success response. Follow nextStep where supplied, and never treat a pending booking as confirmed. See Errors and retries and the booking lifecycle for recovery paths.
Back to all tools