Skip to main content
Glama

SzuruSzuru – rezerwacja czyszczenia tapicerki

Zmień termin

reschedule_booking
DestructiveIdempotent

PURPOSE: Moves the verified customer's existing booking to a new slot. Price and services stay the same. WHEN TO USE: Only after check_availability(booking_reference) and after the customer explicitly confirmed the new date and time. WHEN NOT TO USE: Not for new bookings, not to change services or price. REQUIRED: booking_reference, slot_id (from check_availability with that booking_reference), customer_grant (or a signed-in customer). idempotency_key optional. SIDE EFFECTS: changes the booking and notifies the customer by SMS/e-mail. Repeating the same call returns the same result.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slot_idYesslot_id from check_availability(booking_reference)
session_idNoOptional. session_id from the previous result, if you have it. The server also recovers the session from quote_id / slot_id / confirmation_id / customer_grant.
customer_grantNocustomer_grant returned by verify_phone_code
idempotency_keyNoOptional. Same value when retrying the same request. If omitted, the server derives the key from the request, so a retry never creates a second booking.
booking_referenceYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeNo
dateNoYYYY-MM-DD, Polish time
timeNoHH:MM, Polish time
errorNoStable machine-readable error id when success=false, e.g. missing_required_fields, unsupported_postcode, no_availability
priceNo
totalNo
end_atNo
statusNo
messageNo
successYestrue = operation done / data returned; false = see error
currencyNo
start_atNo
booking_idNoBooking reference to give the customer (same as booking_reference)
can_cancelNo
session_idNo
can_rescheduleNo
missing_fieldsNo
service_summaryNo
rescheduled_fromNo
booking_referenceNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • addedInput schema / properties / customer_grant / description
      Added value: +"customer_grant returned by verify_phone_code"
    • addedInput schema / properties / idempotency_key / description
      Added value: +"Optional. Same value when retrying the same request. If omitted, the server derives the key from the request, so a retry never creates a second booking."
    • addedInput schema / properties / session_id / description
      Added value: +"Optional. session_id from the previous result, if you have it. The server also recovers the session from quote_id / slot_id / confirmation_id / customer_grant."
    • addedInput schema / properties / slot_id / description
      Added value: +"slot_id from check_availability(booking_reference)"
    • changedInput schema / required
      Previous value: -[
      -  "booking_reference",
      -  "slot_id",
      -  "idempotency_key"
      -]New value: +[
      +  "booking_reference",
      +  "slot_id"
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "booking_id": {
      +      "description": "Booking reference to give the customer (same as booking_reference)",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "booking_reference": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "can_cancel": {
      +      "type": "boolean"
      +    },
      +    "can_reschedule": {
      +      "type": "boolean"
      +    },
      +    "code": {
      +      "type": "string"
      +    },
      +    "currency": {
      +      "type": "string"
      +    },
      +    "date": {
      +      "description": "YYYY-MM-DD, Polish time",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "end_at": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "error": {
      +      "description": "Stable machine-readable error id when success=false, e.g. missing_required_fields, unsupported_postcode, no_availability",
      +      "type": "string"
      +    },
      +    "message": {
      +      "type": "string"
      +    },
      +    "missing_fields": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "price": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "rescheduled_from": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "service_summary": {
      +      "type": "string"
      +    },
      +    "session_id": {
      +      "type": "string"
      +    },
      +    "start_at": {
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "status": {
      +      "type": "string"
      +    },
      +    "success": {
      +      "description": "true = operation done / data returned; false = see error",
      +      "type": "boolean"
      +    },
      +    "time": {
      +      "description": "HH:MM, Polish time",
      +      "type": [
      +        "string",
      +        "null"
      +      ]
      +    },
      +    "total": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    }
      +  },
      +  "required": [
      +    "success"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Adds real context beyond the annotations: notifies the customer by SMS/e-mail, price/services are unchanged, and repeated calls return the same result (reinforcing idempotentHint=true consistently with destructiveHint=true). It does not state whether the old slot is released or the notification timing, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Labeled sections (PURPOSE / WHEN TO USE / WHEN NOT / REQUIRED / SIDE EFFECTS) front-load the decision-relevant facts and every line carries information. Slightly longer than strictly necessary, but nothing is filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present, return values need no explanation, and the description covers prerequisites, safety-relevant side effects, and idempotency. It stops short of stating what happens to the vacated slot and the exact auth/permission requirement, the only meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so the baseline is 3; the description rises above it by tying slot_id to check_availability(booking_reference), tying customer_grant to a signed-in alternative, and naming idempotency_key's optional status and retry semantics. It does not add format details beyond those already in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('moves the verified customer's existing booking to a new slot') plus a scope constraint ('price and services stay the same'). This clearly distinguishes it from create_booking and cancel_booking without needing to open either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit WHEN TO USE section requires the prior check_availability(booking_reference) call and explicit customer confirmation, and WHEN NOT TO USE excludes new bookings and service/price changes. Alternative routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources