# get_booking_detail

OWNER ONLY. Inspect one parent booking with customer contact, special requests, payments and status history. Requires ownership of businessId; customer access tokens are not used or returned.

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

Version: 1.1.0
Scope: Directory + business
Authentication: Owner session
Category: Owner operations

## Parameters

- **businessId** (string; required): Published business ID from search_businesses, or the business's booking-page slug (e.g. "studio-nine"); owner calls may also use the business ID shown in the dashboard.
- **bookingId** (string; required): Parent booking ID from create_hold (holdId), confirm_booking, or list_bookings. Never pass a child allocation ID.

## 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_booking_detail",
  "arguments": {
    "businessId": "<businessId>",
    "bookingId": "<bookingId>"
  }
}
```

## Input JSON Schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "businessId": {
      "type": "string",
      "minLength": 1,
      "description": "Published business ID from search_businesses, or the business's booking-page slug (e.g. \"studio-nine\"); owner calls may also use the business ID shown in the dashboard."
    },
    "bookingId": {
      "type": "string",
      "minLength": 1,
      "description": "Parent booking ID from create_hold (holdId), confirm_booking, or list_bookings. Never pass a child allocation ID."
    }
  },
  "required": [
    "businessId",
    "bookingId"
  ]
}
```

## Output JSON Schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "bookingId": {
      "type": "string"
    },
    "businessId": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": [
        "held",
        "pending_verification",
        "pending_payment",
        "pending_approval",
        "confirmed",
        "cancelled",
        "expired",
        "no_show",
        "completed"
      ]
    },
    "start": {
      "type": "string"
    },
    "end": {
      "type": "string"
    },
    "guestName": {
      "type": [
        "string",
        "null"
      ]
    },
    "notes": {
      "type": [
        "string",
        "null"
      ]
    },
    "params": {
      "type": "object",
      "propertyNames": {
        "type": "string"
      },
      "additionalProperties": {}
    },
    "total": {
      "type": "object",
      "properties": {
        "amountMinor": {
          "type": "integer",
          "minimum": -9007199254740991,
          "maximum": 9007199254740991
        },
        "currency": {
          "type": "string"
        },
        "formatted": {
          "type": "string"
        }
      },
      "required": [
        "amountMinor",
        "currency",
        "formatted"
      ],
      "additionalProperties": false
    },
    "customer": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "name": {
              "type": "string"
            },
            "email": {
              "type": [
                "string",
                "null"
              ]
            },
            "phone": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "name",
            "email",
            "phone"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "payments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "amountMinor": {
            "type": "number"
          },
          "currency": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "status",
          "amountMinor",
          "currency"
        ],
        "additionalProperties": false
      }
    },
    "events": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fromStatus": {
            "type": [
              "string",
              "null"
            ]
          },
          "toStatus": {
            "type": "string"
          },
          "at": {
            "type": "string"
          },
          "actor": {
            "type": "string"
          }
        },
        "required": [
          "fromStatus",
          "toStatus",
          "at",
          "actor"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "bookingId",
    "businessId",
    "status",
    "start",
    "end",
    "guestName",
    "notes",
    "params",
    "total",
    "customer",
    "payments",
    "events"
  ],
  "additionalProperties": false
}
```

## 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.
