# get_quote

Returns the exact price breakdown for one option from check_availability: base price, seasonal adjustments, fees, taxes, deposit due and cancellation terms.

Canonical: https://bookwise.live/docs/tools/get_quote

Version: 1.1.0
Scope: Directory + business
Authentication: As specified in parameters
Category: Discovery & availability

## Parameters

- **businessId** (string; required): businessId: a business ID from search_businesses, e.g. "biz_01j…", or the business's booking-page slug, e.g. "studio-nine"
- **optionId** (string; required): optionId: an option ID returned by check_availability, e.g. "opt_eyJ…"
- **params** (object; required): params: booking parameters matching the business's bookingParamsSchema from get_business

## Example MCP call

Replace placeholders with returned IDs and saved credentials. Example dates must be replaced with the customer's future dates.

```json
{
  "name": "get_quote",
  "arguments": {
    "businessId": "<businessId>",
    "optionId": "<optionId>",
    "params": {
      "checkIn": "2026-11-14",
      "checkOut": "2026-11-16",
      "adults": 2
    }
  }
}
```

## Input JSON Schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "minLength": 1,
      "description": "businessId: a business ID from search_businesses, e.g. \"biz_01j…\", or the business's booking-page slug, e.g. \"studio-nine\""
    },
    "optionId": {
      "type": "string",
      "minLength": 1,
      "description": "optionId: an option ID returned by check_availability, e.g. \"opt_eyJ…\""
    },
    "params": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "params: booking parameters matching the business's bookingParamsSchema from get_business"
    }
  },
  "required": [
    "businessId",
    "optionId",
    "params"
  ]
}
```

## Output JSON Schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "optionId": {
      "type": "string"
    },
    "quote": {
      "type": "object",
      "properties": {
        "total": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "number"
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        },
        "depositDue": {
          "type": "object",
          "properties": {
            "amountMinor": {
              "type": "number"
            },
            "currency": {
              "type": "string"
            },
            "formatted": {
              "type": "string"
            }
          },
          "required": [
            "amountMinor",
            "currency",
            "formatted"
          ],
          "additionalProperties": false
        }
      },
      "required": [
        "total",
        "depositDue"
      ],
      "additionalProperties": {}
    }
  },
  "required": [
    "optionId",
    "quote"
  ],
  "additionalProperties": {}
}
```

## Annotations

```json
{
  "readOnlyHint": true,
  "destructiveHint": false,
  "idempotentHint": true,
  "openWorldHint": false
}
```

On failure, inspect isError and content; domain errors may include structuredContent.code, retryable, details.fields or alternatives. Annotations are behavior hints, not authorization.
