Skip to content
The Bookwise guidev1.1.0Read as Markdown
Documentation menu
Docs/Booking management
Booking management

reschedule_booking

Preview or apply a replacement for a confirmed future booking. First call mode=preview with new params. Show the quote and priceDifference to the customer. After acceptance, call mode=apply with the returned optionId, acceptedTotalMinor, acceptedCurrency and a new idempotencyKey. Original booking is preserved on failure. Changes requiring a deposit adjustment/refund must be arranged with the business.

Scope & access

Directory + businessWrites dataChanges existing state

Follow the credential fields below. Public discovery does not require a login; private booking operations require the indicated token.

This tool advertises idempotent behavior. If an idempotencyKey is specified, reuse it with identical arguments only when retrying that same intended action.

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.

bookingIdRequired
string

Parent booking ID from create_hold (holdId), confirm_booking, or list_bookings. Never pass a child allocation ID.

accessTokenRequired
string

Secret accessToken returned after verification/confirmation or access recovery. Never invent or expose it publicly.

paramsRequired
object

Booking parameters from get_business.bookingParamsSchema. Hotel: checkIn/checkOut YYYY-MM-DD, adults. Restaurant: date, time HH:mm, partySize. Salon: offeringId, date, optional time/staffId. Dates and times use the business timezone.

offeringIdOptional
string

Offering ID from list_offerings, belonging to this business.

optionIdOptional
string

Exact opaque optionId returned by an availability call or reschedule preview; pass unchanged.

modeOptional
"preview" | "apply"

preview reads the replacement and price; apply changes it only after customer acceptance.

acceptedTotalMinorOptional
integer

Required for apply: exact quote.total.amountMinor from preview, in minor currency units.

acceptedCurrencyOptional
string

Required for apply: quote.total.currency from preview, e.g. LKR.

idempotencyKeyOptional
string

Generate a UUID per intended mutation. Reuse the same key and identical parameters only when retrying that action.

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.

reschedule_booking · MCP client arguments
json
{
  "name": "reschedule_booking",
  "arguments": {
    "bookingId": "<bookingId>",
    "accessToken": "<saved-access-token>",
    "params": {
      "checkIn": "2026-11-14",
      "checkOut": "2026-11-16",
      "adults": 2
    },
    "mode": "preview"
  }
}

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
Input JSON Schema
json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "bookingId": {
      "type": "string",
      "minLength": 1,
      "description": "Parent booking ID from create_hold (holdId), confirm_booking, or list_bookings. Never pass a child allocation ID."
    },
    "accessToken": {
      "type": "string",
      "minLength": 10,
      "description": "Secret accessToken returned after verification/confirmation or access recovery. Never invent or expose it publicly."
    },
    "params": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "Booking parameters from get_business.bookingParamsSchema. Hotel: checkIn/checkOut YYYY-MM-DD, adults. Restaurant: date, time HH:mm, partySize. Salon: offeringId, date, optional time/staffId. Dates and times use the business timezone."
    },
    "offeringId": {
      "type": "string",
      "minLength": 1,
      "description": "Offering ID from list_offerings, belonging to this business."
    },
    "optionId": {
      "type": "string",
      "minLength": 1,
      "description": "Exact opaque optionId returned by an availability call or reschedule preview; pass unchanged."
    },
    "mode": {
      "default": "preview",
      "description": "preview reads the replacement and price; apply changes it only after customer acceptance.",
      "type": "string",
      "enum": [
        "preview",
        "apply"
      ]
    },
    "acceptedTotalMinor": {
      "description": "Required for apply: exact quote.total.amountMinor from preview, in minor currency units.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "acceptedCurrency": {
      "description": "Required for apply: quote.total.currency from preview, e.g. LKR.",
      "type": "string",
      "minLength": 3,
      "maxLength": 3
    },
    "idempotencyKey": {
      "type": "string",
      "minLength": 8,
      "maxLength": 200,
      "description": "Generate a UUID per intended mutation. Reuse the same key and identical parameters only when retrying that action."
    }
  },
  "required": [
    "bookingId",
    "accessToken",
    "params"
  ]
}
Output schemaJSON Schema
Output JSON Schema
json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "bookingId": {
      "type": "string"
    },
    "applied": {
      "type": "boolean"
    },
    "option": {
      "type": "object",
      "properties": {
        "optionId": {
          "type": "string"
        },
        "offeringId": {
          "type": "string"
        },
        "offeringName": {
          "type": "string"
        },
        "start": {
          "type": "string"
        },
        "end": {
          "type": "string"
        },
        "params": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "total": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "priceIsFrom": {
          "type": "boolean"
        },
        "bookingPageUrl": {
          "type": "string"
        }
      },
      "required": [
        "optionId",
        "offeringId",
        "offeringName",
        "start",
        "end",
        "params",
        "total",
        "priceIsFrom",
        "bookingPageUrl"
      ],
      "additionalProperties": false
    },
    "quote": {
      "type": "object",
      "properties": {
        "currency": {
          "type": "string"
        },
        "lines": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "amountMinor": {
                "type": "number"
              },
              "formatted": {
                "type": "string"
              },
              "kind": {
                "type": "string"
              }
            },
            "required": [
              "label",
              "amountMinor",
              "formatted",
              "kind"
            ],
            "additionalProperties": false
          }
        },
        "subtotal": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "fees": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "taxes": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "total": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "depositDue": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "integer",
              "minimum": -9007199254740991,
              "maximum": 9007199254740991
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "priceIsFrom": {
          "type": "boolean"
        },
        "units": {
          "type": "object",
          "propertyNames": {
            "type": "string"
          },
          "additionalProperties": {}
        },
        "cancellation": {
          "type": "object",
          "properties": {
            "freeUntil": {
              "type": [
                "string",
                "null"
              ]
            },
            "summary": {
              "type": "string"
            }
          },
          "required": [
            "freeUntil",
            "summary"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "currency",
        "lines",
        "subtotal",
        "fees",
        "taxes",
        "total",
        "depositDue",
        "priceIsFrom",
        "units",
        "cancellation"
      ],
      "additionalProperties": false
    },
    "priceDifference": {
      "type": "object",
      "properties": {
        "amountMinor": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "currency": {
          "type": "string"
        },
        "formatted": {
          "type": "string"
        }
      },
      "required": [
        "amountMinor",
        "currency",
        "formatted"
      ],
      "additionalProperties": false
    },
    "nextStep": {
      "type": "string"
    }
  },
  "required": [
    "bookingId",
    "applied",
    "option",
    "quote",
    "priceDifference",
    "nextStep"
  ],
  "additionalProperties": false
}
Behavior annotationsMCP
Tool annotations
json
{
  "readOnlyHint": false,
  "destructiveHint": true,
  "idempotentHint": true,
  "openWorldHint": true
}

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