# check_availability

Checks live availability for the given booking parameters, optionally for one offering. Returns available options with total prices and up to 3 alternatives when the request can't be met.

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

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"
- **offeringId** (string; optional): offeringId: an offering ID from list_offerings or get_business, e.g. "off_01j…"
- **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": "check_availability",
  "arguments": {
    "businessId": "<businessId>",
    "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\""
    },
    "offeringId": {
      "type": "string",
      "minLength": 1,
      "description": "offeringId: an offering ID from list_offerings or get_business, e.g. \"off_01j…\""
    },
    "params": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {},
      "description": "params: booking parameters matching the business's bookingParamsSchema from get_business"
    }
  },
  "required": [
    "businessId",
    "params"
  ]
}
```

## Output JSON Schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "available": {
      "type": "boolean"
    },
    "options": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string"
          },
          "offeringId": {
            "type": "string"
          },
          "offeringName": {
            "type": "string"
          },
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          },
          "total": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "number"
              },
              "currency": {
                "type": "string"
              },
              "formatted": {
                "type": "string"
              }
            },
            "required": [
              "amountMinor",
              "currency",
              "formatted"
            ],
            "additionalProperties": false
          },
          "bookingPageUrl": {
            "type": "string"
          }
        },
        "required": [
          "optionId",
          "offeringId",
          "offeringName",
          "start",
          "end",
          "total",
          "bookingPageUrl"
        ],
        "additionalProperties": {}
      }
    },
    "alternatives": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "optionId": {
            "type": "string"
          },
          "offeringId": {
            "type": "string"
          },
          "offeringName": {
            "type": "string"
          },
          "start": {
            "type": "string"
          },
          "end": {
            "type": "string"
          },
          "total": {
            "type": "object",
            "properties": {
              "amountMinor": {
                "type": "number"
              },
              "currency": {
                "type": "string"
              },
              "formatted": {
                "type": "string"
              }
            },
            "required": [
              "amountMinor",
              "currency",
              "formatted"
            ],
            "additionalProperties": false
          },
          "bookingPageUrl": {
            "type": "string"
          }
        },
        "required": [
          "optionId",
          "offeringId",
          "offeringName",
          "start",
          "end",
          "total",
          "bookingPageUrl"
        ],
        "additionalProperties": {}
      }
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "available",
    "options",
    "alternatives"
  ],
  "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.
