{
 "name": "The Cloud Caller - bookings",
 "description": "Book The Cloud Caller directly. Also over MCP at https://bookings.thecloudcaller.com/b/thecloudcaller/mcp and REST (https://bookings.thecloudcaller.com/openapi.json). Rules: https://bookings.thecloudcaller.com/charter",
 "version": "1.0.0",
 "provider": {
  "organization": "Ammacatize Pty Ltd (The Cloud Caller)",
  "url": "https://thecloudcaller.com"
 },
 "documentationUrl": "https://bookings.thecloudcaller.com/b/thecloudcaller/llms.txt",
 "supportedInterfaces": [
  {
   "url": "https://bookings.thecloudcaller.com/b/thecloudcaller/a2a",
   "protocolBinding": "JSONRPC",
   "protocolVersion": "1.0"
  },
  {
   "url": "https://bookings.thecloudcaller.com/b/thecloudcaller/a2a",
   "protocolBinding": "HTTP+JSON",
   "protocolVersion": "1.0"
  }
 ],
 "url": "https://bookings.thecloudcaller.com/b/thecloudcaller/a2a",
 "preferredTransport": "JSONRPC",
 "protocolVersion": "0.3.0",
 "capabilities": {
  "streaming": false,
  "pushNotifications": false
 },
 "defaultInputModes": [
  "application/json",
  "text/plain"
 ],
 "defaultOutputModes": [
  "application/json",
  "text/plain"
 ],
 "skills": [
  {
   "id": "search_businesses",
   "name": "Find businesses",
   "description": "Find businesses that accept agent bookings. Search by what the user needs (e.g. 'car service', 'physio', 'plumber') and/or suburb.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "get_business",
   "name": "Business details",
   "description": "Hours, slot length, party size limits, prices, policies and required_details (e.g. vehicle rego for a car service). Call before confirm_booking.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "check_availability",
   "name": "Check availability",
   "description": "Free slots at a business on a date. party_size is people (e.g. golf players) or 1 for a job/appointment/car service.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "hold_slot",
   "name": "Hold a slot",
   "description": "Reserve a slot for 10 minutes while you confirm details with your user. Does not book.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "confirm_booking",
   "name": "Confirm booking",
   "description": "Turn a hold into a confirmed booking. Needs the real name and phone of the person attending, plus any required_details. Only call once your user has agreed to the time and price.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "get_booking",
   "name": "Get booking",
   "description": "Look up a booking by business_id, booking_ref and cancel_token.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  },
  {
   "id": "cancel_booking",
   "name": "Cancel booking",
   "description": "Cancel a booking. Needs business_id, booking_ref and the cancel_token returned at booking time.",
   "tags": [
    "booking",
    "small-business",
    "australia"
   ],
   "inputModes": [
    "application/json",
    "text/plain"
   ],
   "outputModes": [
    "application/json",
    "text/plain"
   ]
  }
 ]
}