Skip to main content
Glama

Recheck a selected court slot

recheck_slot
Read-onlyIdempotent

Optional standalone check. get_booking_handoff already revalidates before returning a URL; call this only to confirm availability without proceeding to handoff. It never books, holds inventory, takes payment, or returns checkout.

Input Schema

NameRequiredDescriptionDefault
dateNo
slot_idYes
earliest_timeNo
latest_end_timeNo
duration_minutesNo
number_of_playersNo

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "checked_at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "data": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "availability": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "confidence": {
      -                "enum": [
      -                  "confirmed_live",
      -                  "provider_reported",
      -                  "derived",
      -                  "unknown"
      -                ],
      -                "type": "string"
      -              },
      -              "status": {
      -                "enum": [
      -                  "available",
      -                  "unavailable",
      -                  "unknown"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "status",
      -              "confidence"
      -            ],
      -            "type": "object"
      -          },
      -          "checked_at": {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          "club_id": {
      -            "anyOf": [
      -              {
      -                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      -                "type": "string"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "court": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "id": {
      -                "minLength": 1,
      -                "type": "string"
      -              },
      -              "name": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name"
      -            ],
      -            "type": "object"
      -          },
      -          "currency": {
      -            "maxLength": 3,
      -            "minLength": 3,
      -            "type": "string"
      -          },
      -          "date": {
      -            "format": "date",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      -            "type": "string"
      -          },
      -          "duration": {
      -            "exclusiveMinimum": 0,
      -            "maximum": 9007199254740991,
      -            "type": "integer"
      -          },
      -          "price": {
      -            "anyOf": [
      -              {
      -                "minimum": 0,
      -                "type": "number"
      -              },
      -              {
      -                "type": "null"
      -              }
      -            ]
      -          },
      -          "price_details": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "amount": {
      -                "anyOf": [
      -                  {
      -                    "minimum": 0,
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "basis": {
      -                "enum": [
      -                  "whole_court",
      -                  "per_player",
      -                  "session",
      -                  "unknown"
      -                ],
      -                "type": "string"
      -              },
      -              "calculated_per_player": {
      -                "anyOf": [
      -                  {
      -                    "minimum": 0,
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "currency": {
      -                "maxLength": 3,
      -                "minLength": 3,
      -                "type": "string"
      -              },
      -              "number_of_players": {
      -                "exclusiveMinimum": 0,
      -                "maximum": 9007199254740991,
      -                "type": "integer"
      -              }
      -            },
      -            "required": [
      -              "amount",
      -              "currency",
      -              "basis",
      -              "number_of_players",
      -              "calculated_per_player"
      -            ],
      -            "type": "object"
      -          },
      -          "provider": {
      -            "enum": [
      -              "padelstars",
      -              "playtomic",
      -              "padelmates",
      -              "matchi",
      -              "clubspark"
      -            ],
      -            "type": "string"
      -          },
      -          "revalidation": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "expires_at": {
      -                "anyOf": [
      -                  {
      -                    "format": "date-time",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "recheck_after": {
      -                "anyOf": [
      -                  {
      -                    "format": "date-time",
      -                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -                    "type": "string"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "required": {
      -                "type": "boolean"
      -              },
      -              "semantics": {
      -                "enum": [
      -                  "recheck_before_handoff",
      -                  "rechecked_for_handoff"
      -                ],
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "required",
      -              "recheck_after",
      -              "expires_at",
      -              "semantics"
      -            ],
      -            "type": "object"
      -          },
      -          "slot_id": {
      -            "minLength": 1,
      -            "type": "string"
      -          },
      -          "source": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "method": {
      -                "enum": [
      -                  "provider_live_api",
      -                  "provider_public_page",
      -                  "catalog_snapshot"
      -                ],
      -                "type": "string"
      -              },
      -              "provider": {
      -                "minLength": 1,
      -                "type": "string"
      -              },
      -              "provider_url": {
      -                "format": "uri",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "provider",
      -              "provider_url",
      -              "method"
      -            ],
      -            "type": "object"
      -          },
      -          "starts_at": {
      -            "format": "date-time",
      -            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -            "type": "string"
      -          },
      -          "travel": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "confidence": {
      -                "enum": [
      -                  "estimated",
      -                  "unavailable"
      -                ],
      -                "type": "string"
      -              },
      -              "coordinates": {
      -                "anyOf": [
      -                  {
      -                    "additionalProperties": false,
      -                    "properties": {
      -                      "latitude": {
      -                        "maximum": 90,
      -                        "minimum": -90,
      -                        "type": "number"
      -                      },
      -                      "longitude": {
      -                        "maximum": 180,
      -                        "minimum": -180,
      -                        "type": "number"
      -                      }
      -                    },
      -                    "required": [
      -                      "latitude",
      -                      "longitude"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "estimated_duration_minutes": {
      -                "anyOf": [
      -                  {
      -                    "exclusiveMinimum": 0,
      -                    "maximum": 9007199254740991,
      -                    "type": "integer"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              },
      -              "method": {
      -                "enum": [
      -                  "straight_line_heuristic",
      -                  "not_calculated"
      -                ],
      -                "type": "string"
      -              },
      -              "mode": {
      -                "enum": [
      -                  "drive"
      -                ],
      -                "type": "string"
      -              },
      -              "straight_line_distance_km": {
      -                "anyOf": [
      -                  {
      -                    "minimum": 0,
      -                    "type": "number"
      -                  },
      -                  {
      -                    "type": "null"
      -                  }
      -                ]
      -              }
      -            },
      -            "required": [
      -              "coordinates",
      -              "straight_line_distance_km",
      -              "estimated_duration_minutes",
      -              "mode",
      -              "confidence",
      -              "method"
      -            ],
      -            "type": "object"
      -          },
      -          "travel_estimate_uncertain": {
      -            "type": "boolean"
      -          },
      -          "venue": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "id": {
      -                "minLength": 1,
      -                "type": "string"
      -              },
      -              "location": {
      -                "minLength": 1,
      -                "type": "string"
      -              },
      -              "name": {
      -                "minLength": 1,
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "id",
      -              "name",
      -              "location"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "required": [
      -          "slot_id",
      -          "provider",
      -          "venue",
      -          "court",
      -          "starts_at",
      -          "duration",
      -          "price",
      -          "currency",
      -          "club_id",
      -          "date",
      -          "source",
      -          "checked_at",
      -          "availability",
      -          "price_details",
      -          "travel",
      -          "travel_estimate_uncertain",
      -          "revalidation"
      -        ],
      -        "type": "object"
      -      },
      -      "status": {
      -        "const": "available",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "checked_at",
      -      "data"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "checked_at": {
      -        "format": "date-time",
      -        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      -        "type": "string"
      -      },
      -      "reason": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "slot_id": {
      -        "minLength": 1,
      -        "type": "string"
      -      },
      -      "status": {
      -        "const": "unavailable",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "status",
      -      "checked_at",
      -      "slot_id",
      -      "reason"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "checked_at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "data": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "availability": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "confidence": {
      +                "enum": [
      +                  "confirmed_live",
      +                  "provider_reported",
      +                  "derived",
      +                  "unknown"
      +                ],
      +                "type": "string"
      +              },
      +              "status": {
      +                "enum": [
      +                  "available",
      +                  "unavailable",
      +                  "unknown"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "status",
      +              "confidence"
      +            ],
      +            "type": "object"
      +          },
      +          "checked_at": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          "club_id": {
      +            "anyOf": [
      +              {
      +                "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$",
      +                "type": "string"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "court": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "name": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name"
      +            ],
      +            "type": "object"
      +          },
      +          "currency": {
      +            "maxLength": 3,
      +            "minLength": 3,
      +            "type": "string"
      +          },
      +          "date": {
      +            "format": "date",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
      +            "type": "string"
      +          },
      +          "duration": {
      +            "exclusiveMinimum": 0,
      +            "maximum": 9007199254740991,
      +            "type": "integer"
      +          },
      +          "price": {
      +            "anyOf": [
      +              {
      +                "minimum": 0,
      +                "type": "number"
      +              },
      +              {
      +                "type": "null"
      +              }
      +            ]
      +          },
      +          "price_details": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "amount": {
      +                "anyOf": [
      +                  {
      +                    "minimum": 0,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "basis": {
      +                "enum": [
      +                  "whole_court",
      +                  "per_player",
      +                  "session",
      +                  "unknown"
      +                ],
      +                "type": "string"
      +              },
      +              "calculated_per_player": {
      +                "anyOf": [
      +                  {
      +                    "minimum": 0,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "currency": {
      +                "maxLength": 3,
      +                "minLength": 3,
      +                "type": "string"
      +              },
      +              "number_of_players": {
      +                "exclusiveMinimum": 0,
      +                "maximum": 9007199254740991,
      +                "type": "integer"
      +              }
      +            },
      +            "required": [
      +              "amount",
      +              "currency",
      +              "basis",
      +              "number_of_players",
      +              "calculated_per_player"
      +            ],
      +            "type": "object"
      +          },
      +          "provider": {
      +            "enum": [
      +              "padelstars",
      +              "playtomic",
      +              "padelmates",
      +              "matchi",
      +              "clubspark",
      +              "matchpoint"
      +            ],
      +            "type": "string"
      +          },
      +          "revalidation": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "expires_at": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "recheck_after": {
      +                "anyOf": [
      +                  {
      +                    "format": "date-time",
      +                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +                    "type": "string"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "required": {
      +                "type": "boolean"
      +              },
      +              "semantics": {
      +                "enum": [
      +                  "recheck_before_handoff",
      +                  "rechecked_for_handoff"
      +                ],
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "required",
      +              "recheck_after",
      +              "expires_at",
      +              "semantics"
      +            ],
      +            "type": "object"
      +          },
      +          "slot_id": {
      +            "minLength": 1,
      +            "type": "string"
      +          },
      +          "source": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "method": {
      +                "enum": [
      +                  "provider_live_api",
      +                  "provider_public_page",
      +                  "catalog_snapshot"
      +                ],
      +                "type": "string"
      +              },
      +              "provider": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "provider_url": {
      +                "format": "uri",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "provider",
      +              "provider_url",
      +              "method"
      +            ],
      +            "type": "object"
      +          },
      +          "starts_at": {
      +            "format": "date-time",
      +            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +            "type": "string"
      +          },
      +          "travel": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "confidence": {
      +                "enum": [
      +                  "estimated",
      +                  "unavailable"
      +                ],
      +                "type": "string"
      +              },
      +              "coordinates": {
      +                "anyOf": [
      +                  {
      +                    "additionalProperties": false,
      +                    "properties": {
      +                      "latitude": {
      +                        "maximum": 90,
      +                        "minimum": -90,
      +                        "type": "number"
      +                      },
      +                      "longitude": {
      +                        "maximum": 180,
      +                        "minimum": -180,
      +                        "type": "number"
      +                      }
      +                    },
      +                    "required": [
      +                      "latitude",
      +                      "longitude"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "estimated_duration_minutes": {
      +                "anyOf": [
      +                  {
      +                    "exclusiveMinimum": 0,
      +                    "maximum": 9007199254740991,
      +                    "type": "integer"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              },
      +              "method": {
      +                "enum": [
      +                  "straight_line_heuristic",
      +                  "not_calculated"
      +                ],
      +                "type": "string"
      +              },
      +              "mode": {
      +                "enum": [
      +                  "drive"
      +                ],
      +                "type": "string"
      +              },
      +              "straight_line_distance_km": {
      +                "anyOf": [
      +                  {
      +                    "minimum": 0,
      +                    "type": "number"
      +                  },
      +                  {
      +                    "type": "null"
      +                  }
      +                ]
      +              }
      +            },
      +            "required": [
      +              "coordinates",
      +              "straight_line_distance_km",
      +              "estimated_duration_minutes",
      +              "mode",
      +              "confidence",
      +              "method"
      +            ],
      +            "type": "object"
      +          },
      +          "travel_estimate_uncertain": {
      +            "type": "boolean"
      +          },
      +          "venue": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "id": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "location": {
      +                "minLength": 1,
      +                "type": "string"
      +              },
      +              "name": {
      +                "minLength": 1,
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "id",
      +              "name",
      +              "location"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "required": [
      +          "slot_id",
      +          "provider",
      +          "venue",
      +          "court",
      +          "starts_at",
      +          "duration",
      +          "price",
      +          "currency",
      +          "club_id",
      +          "date",
      +          "source",
      +          "checked_at",
      +          "availability",
      +          "price_details",
      +          "travel",
      +          "travel_estimate_uncertain",
      +          "revalidation"
      +        ],
      +        "type": "object"
      +      },
      +      "status": {
      +        "const": "available",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "checked_at",
      +      "data"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "checked_at": {
      +        "format": "date-time",
      +        "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
      +        "type": "string"
      +      },
      +      "reason": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "slot_id": {
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "status": {
      +        "const": "unavailable",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "status",
      +      "checked_at",
      +      "slot_id",
      +      "reason"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. First observed

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, but the description adds real value by enumerating what it never does — no booking, no inventory hold, no payment, no checkout response. It stops short of describing what a negative result looks like (e.g., slot no longer available) or any rate limits, which keeps it at 4 rather than 5.

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

Conciseness5/5

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

Two sentences, zero filler, with the usage condition and the 'never does X' boundary front-loaded. Nothing repeats the name or title redundantly.

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

Completeness3/5

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

An output schema exists, so return-value explanation is not required, and the safety profile is covered by annotations. However, for a six-parameter tool with no schema descriptions, the definition leaves an agent guessing what the optional constraint parameters mean, which is a meaningful gap in an otherwise well-scoped definition.

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

Parameters2/5

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

Six parameters with 0% schema description coverage, and the description mentions none of them — not even the required slot_id, nor how date/earliest_time/latest_end_time/duration_minutes/number_of_players refine the check. With coverage this low the description was expected to compensate and does not.

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

Purpose4/5

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

The description states a specific action (revalidate/confirm availability of a selected slot) and frames it as a check rather than a booking. It distinguishes itself from the sibling that does similar work by noting get_booking_handoff already revalidates, though the core verb ('standalone check') is slightly softer than an explicit 'checks current availability of slot_id'.

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?

It gives an explicit when-to-use condition ('confirm availability without proceeding to handoff') and names the alternative (get_booking_handoff), which already performs the same revalidation. An agent can decide between the two without opening either schema.

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