{
  "schema_version": "quickchat-page-tools-v1",
  "source": "https://quickchat.ai/pricing",
  "locale": "en",
  "delivery": {
    "id": "nonvisual-business-tools",
    "version": "v1"
  },
  "question": "How do these supplied pricing quotes compare for our workload?",
  "tool": {
    "id": "quote-comparison",
    "version": "public-quote-comparison-v1",
    "name": "Compare supplied pricing quotes",
    "description": "Compare up to four supplied quotes using their billing units, allowances, minimums, tax basis and monthly usage. Enter money as decimal strings. Returns normalized costs and missing assumptions; it does not fetch vendor prices.",
    "input_schema": {
      "$defs": {
        "HypotheticalQuote": {
          "additionalProperties": false,
          "properties": {
            "name": {
              "maxLength": 60,
              "minLength": 1,
              "title": "Name",
              "type": "string"
            },
            "unit": {
              "enum": [
                "reply",
                "conversation",
                "resolution",
                "seat",
                "message",
                "hour"
              ],
              "title": "Unit",
              "type": "string"
            },
            "unit_price": {
              "pattern": "^(?:0|[1-9][0-9]{0,8})(?:\\.[0-9]{1,6})?$",
              "title": "Unit Price",
              "type": "string"
            },
            "fixed_fee": {
              "default": "0",
              "pattern": "^(?:0|[1-9][0-9]{0,8})(?:\\.[0-9]{1,6})?$",
              "title": "Fixed Fee",
              "type": "string"
            },
            "minimum_fee": {
              "default": "0",
              "pattern": "^(?:0|[1-9][0-9]{0,8})(?:\\.[0-9]{1,6})?$",
              "title": "Minimum Fee",
              "type": "string"
            },
            "included_units": {
              "default": 0,
              "maximum": 100000000,
              "minimum": 0,
              "title": "Included Units",
              "type": "integer"
            },
            "period": {
              "default": "month",
              "enum": [
                "month",
                "year"
              ],
              "title": "Period",
              "type": "string"
            },
            "unit_definition": {
              "default": "",
              "maxLength": 160,
              "title": "Unit Definition",
              "type": "string"
            },
            "tax_included": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "default": null,
              "title": "Tax Included"
            }
          },
          "required": [
            "name",
            "unit",
            "unit_price"
          ],
          "title": "HypotheticalQuote",
          "type": "object"
        }
      },
      "additionalProperties": false,
      "properties": {
        "currency": {
          "pattern": "^[A-Z]{3}$",
          "title": "Currency",
          "type": "string"
        },
        "monthly_volumes": {
          "additionalProperties": {
            "maximum": 100000000,
            "minimum": 0,
            "type": "integer"
          },
          "maxProperties": 6,
          "minProperties": 1,
          "propertyNames": {
            "enum": [
              "reply",
              "conversation",
              "resolution",
              "seat",
              "message",
              "hour"
            ]
          },
          "title": "Monthly Volumes",
          "type": "object"
        },
        "quotes": {
          "items": {
            "$ref": "#/$defs/HypotheticalQuote"
          },
          "maxItems": 4,
          "minItems": 1,
          "title": "Quotes",
          "type": "array"
        }
      },
      "required": [
        "currency",
        "monthly_volumes",
        "quotes"
      ],
      "title": "QuoteComparisonInput",
      "type": "object"
    }
  },
  "transports": [
    {
      "arm": "post",
      "placement": "www-pricing-quote-comparison-post-nonvisual-v1",
      "form_url": "https://app.quickchat.ai/v1/api_core/public-question/quickchat/tools/quote-comparison/lab/post/?placement=www-pricing-quote-comparison-post-nonvisual-v1",
      "schema_url": "https://app.quickchat.ai/v1/api_core/public-question/quickchat/tools/quote-comparison/lab/post/?placement=www-pricing-quote-comparison-post-nonvisual-v1&format=json",
      "execution_method": "POST",
      "input": "Obtain a fresh token from schema_url, then POST JSON with input (your object) and token to form_url. The input JSON is limited to 2000 characters."
    },
    {
      "arm": "webmcp",
      "placement": "www-pricing-quote-comparison-webmcp-nonvisual-v1",
      "form_url": "https://app.quickchat.ai/v1/api_core/public-question/quickchat/tools/quote-comparison/lab/webmcp/?placement=www-pricing-quote-comparison-webmcp-nonvisual-v1",
      "schema_url": "https://app.quickchat.ai/v1/api_core/public-question/quickchat/tools/quote-comparison/lab/webmcp/?placement=www-pricing-quote-comparison-webmcp-nonvisual-v1&format=json",
      "execution_method": "POST",
      "input": "Obtain a fresh token from schema_url, then POST JSON with input (your object) and token to form_url. The input JSON is limited to 2000 characters.",
      "registration": "document.modelContext.registerTool on this top-level page when supported. The callback obtains its token only when invoked and returns the result without changing the page.",
      "name": "quickchat_quote_comparison_v1"
    }
  ]
}
