Skip to content

Tool reference cancel_booking

cancel_booking

Cancel one of the signed-in person's own upcoming bookings by its id from my_bookings (where canCancel is true): the free intro call, or an hour with Ben, whose diamond comes back in their wallet. Name the booking by its label when you ask for their yes. Refused, with a reason, for a booking that is not theirs, already cancelled, or already begun.

  • Needs sign-in · 1 gold
  • Changes something – ask first, takes something away

Input

FieldTypeRequiredNotes
bookingIdstring (uuid)YesThe id of one of the person's own upcoming bookings, exactly as my_bookings lists it.
reasonstringNoWhy, in the person's words, when they gave one. Optional. · at most 300 characters

Over HTTP

curl -X POST https://pirateskills.com/api/public/agent/tools/cancel_booking \
  -H "Authorization: Bearer $PIRATESKILLS_API_KEY" \
  -H "content-type: application/json" \
  -d '{ "bookingId": "<bookingId>" }'

From the CLI

pirateskills run cancel_booking --json '{ "bookingId": "<bookingId>" }'   # asks y/N first

Over MCP

Call cancel_booking on https://pirateskills.com/mcp. The tool is marked as one that changes something, so a well-behaved client asks the person first. Connect over MCP

JSON Schema

{
  "type": "object",
  "properties": {
    "bookingId": {
      "type": "string",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
      "description": "The id of one of the person's own upcoming bookings, exactly as my_bookings lists it."
    },
    "reason": {
      "description": "Why, in the person's words, when they gave one. Optional.",
      "type": "string",
      "maxLength": 300
    }
  },
  "required": [
    "bookingId"
  ]
}