[
 {
  "description": "Reserve one itinerary.",
  "name": "book_flight",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "cabin": {
     "default": "economy",
     "enum": [
      "economy",
      "premium",
      "business",
      "first"
     ],
     "type": "string"
    },
    "date": {
     "type": "string"
    },
    "destination": {
     "type": "string"
    },
    "origin": {
     "type": "string"
    },
    "passengers": {
     "default": 1,
     "type": "integer"
    },
    "seat_prefs": {
     "items": {
      "type": "string"
     },
     "type": "array"
    }
   },
   "required": [
    "origin",
    "destination",
    "date",
    "passengers",
    "cabin"
   ],
   "type": "object"
  }
 },
 {
  "description": "Convert an amount between currencies.",
  "name": "convert_currency",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "amount": {
     "type": "number"
    },
    "on_date": {
     "type": "string"
    },
    "rounding": {
     "default": "none",
     "enum": [
      "none",
      "nearest",
      "bankers"
     ],
     "type": "string"
    },
    "source_currency": {
     "enum": [
      "EUR",
      "USD",
      "GBP",
      "JPY"
     ],
     "type": "string"
    },
    "target_currency": {
     "enum": [
      "EUR",
      "USD",
      "GBP",
      "JPY"
     ],
     "type": "string"
    }
   },
   "required": [
    "amount",
    "source_currency",
    "target_currency",
    "rounding"
   ],
   "type": "object"
  }
 },
 {
  "description": "Open a work item on the tracker.",
  "name": "create_ticket",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "assignee": {
     "type": "string"
    },
    "estimate_hours": {
     "type": "number"
    },
    "labels": {
     "items": {
      "type": "string"
     },
     "type": "array"
    },
    "priority": {
     "default": "medium",
     "enum": [
      "low",
      "medium",
      "high",
      "urgent"
     ],
     "type": "string"
    },
    "title": {
     "type": "string"
    }
   },
   "required": [
    "title",
    "priority"
   ],
   "type": "object"
  }
 },
 {
  "description": "Return a forecast for one location.",
  "name": "get_weather",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "days": {
     "type": "integer"
    },
    "include_hourly": {
     "type": "boolean"
    },
    "location": {
     "type": "string"
    },
    "units": {
     "default": "celsius",
     "enum": [
      "celsius",
      "fahrenheit"
     ],
     "type": "string"
    }
   },
   "required": [
    "location",
    "units",
    "days"
   ],
   "type": "object"
  }
 },
 {
  "description": "Run one read-only statement.",
  "name": "run_query",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "database": {
     "enum": [
      "analytics",
      "billing",
      "crm"
     ],
     "type": "string"
    },
    "dry_run": {
     "default": false,
     "type": "boolean"
    },
    "sql": {
     "type": "string"
    },
    "tags": {
     "items": {
      "type": "string"
     },
     "type": "array"
    },
    "timeout_seconds": {
     "default": 30,
     "type": "integer"
    }
   },
   "required": [
    "sql",
    "database",
    "timeout_seconds"
   ],
   "type": "object"
  }
 },
 {
  "description": "Put one meeting on the calendar.",
  "name": "schedule_meeting",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "agenda": {
     "items": {
      "type": "string"
     },
     "type": "array"
    },
    "attendees": {
     "items": {
      "type": "string"
     },
     "type": "array"
    },
    "duration_minutes": {
     "default": 30,
     "type": "integer"
    },
    "room": {
     "type": "string"
    },
    "start_iso": {
     "type": "string"
    },
    "title": {
     "type": "string"
    }
   },
   "required": [
    "title",
    "attendees",
    "start_iso",
    "duration_minutes"
   ],
   "type": "object"
  }
 },
 {
  "description": "Search the catalogue.",
  "name": "search_products",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "filters": {
     "additionalProperties": false,
     "properties": {
      "category": {
       "type": "string"
      },
      "in_stock": {
       "type": "boolean"
      },
      "max_price": {
       "type": "number"
      }
     },
     "required": [
      "category"
     ],
     "type": "object"
    },
    "limit": {
     "default": 10,
     "type": "integer"
    },
    "query": {
     "type": "string"
    },
    "sort": {
     "default": "relevance",
     "enum": [
      "relevance",
      "price_asc",
      "price_desc"
     ],
     "type": "string"
    }
   },
   "required": [
    "query",
    "filters",
    "limit"
   ],
   "type": "object"
  }
 },
 {
  "description": "Send one message to one or more recipients.",
  "name": "send_email",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "body": {
     "type": "string"
    },
    "cc": {
     "items": {
      "type": "string"
     },
     "type": "array"
    },
    "priority": {
     "default": "normal",
     "enum": [
      "low",
      "normal",
      "high"
     ],
     "type": "string"
    },
    "subject": {
     "type": "string"
    },
    "to": {
     "items": {
      "type": "string"
     },
     "type": "array"
    }
   },
   "required": [
    "to",
    "subject",
    "body",
    "priority"
   ],
   "type": "object"
  }
 },
 {
  "description": "Translate a passage.",
  "name": "translate_text",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "formal": {
     "default": false,
     "type": "boolean"
    },
    "glossary": {
     "additionalProperties": false,
     "properties": {
      "domain": {
       "type": "string"
      },
      "strict": {
       "type": "boolean"
      }
     },
     "required": [
      "domain"
     ],
     "type": "object"
    },
    "target_lang": {
     "enum": [
      "en",
      "fr",
      "de",
      "es",
      "ja"
     ],
     "type": "string"
    },
    "text": {
     "type": "string"
    }
   },
   "required": [
    "text",
    "target_lang",
    "formal"
   ],
   "type": "object"
  }
 },
 {
  "description": "Write one row.",
  "name": "update_record",
  "parameters": {
   "additionalProperties": false,
   "properties": {
    "fields": {
     "additionalProperties": false,
     "properties": {
      "amount": {
       "type": "number"
      },
      "note": {
       "type": "string"
      },
      "status": {
       "type": "string"
      }
     },
     "required": [
      "status"
     ],
     "type": "object"
    },
    "reason_code": {
     "type": "string"
    },
    "record_id": {
     "type": "integer"
    },
    "table": {
     "enum": [
      "customers",
      "orders",
      "invoices"
     ],
     "type": "string"
    },
    "upsert": {
     "default": false,
     "type": "boolean"
    }
   },
   "required": [
    "table",
    "record_id",
    "fields",
    "upsert"
   ],
   "type": "object"
  }
 }
]
