{
  "name": "Hotel Bergsonne Allgäu Booking",
  "description": "Search availability, get pricing, and create reservations at Hotel Bergsonne Allgäu in Sonthofen-Imberg, Bavarian Alps. All prices in EUR incl. VAT. roomId values are abbreviation codes (KAPDZ, KDZ, KFZ, SDZ) returned by search_availability.",
  "url": "https://bergsonne-allgaeu.de/api/booking-mcp",
  "transport": "streamable-http",
  "version": "1.0.0",
  "tools": [
    {
      "name": "get_hotel_details",
      "description": "Fetch hotel metadata, amenities, images, check-in/out times, and room types with abbreviation codes (roomId). No parameters required.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    },
    {
      "name": "search_availability",
      "description": "Search real-time room availability and pricing. Requires checkIn (YYYY-MM-DD), checkOut (YYYY-MM-DD), adults (integer). Optional: children (integer, default 0). Returns roomTypes array with roomId codes (e.g. KAPDZ, KDZ, KFZ, SDZ) needed for get_price_quote and create_booking.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "checkIn": {
            "type": "string",
            "description": "Check-in date (YYYY-MM-DD)"
          },
          "checkOut": {
            "type": "string",
            "description": "Check-out date (YYYY-MM-DD)"
          },
          "adults": {
            "type": "integer",
            "minimum": 1
          },
          "children": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          }
        },
        "required": [
          "checkIn",
          "checkOut",
          "adults"
        ]
      }
    },
    {
      "name": "get_price_quote",
      "description": "Get nightly price breakdown for a specific room type. Requires roomId (abbreviation code from search_availability, e.g. KAPDZ), checkIn, checkOut, adults.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "string",
            "enum": [
              "KAPDZ",
              "KDZ",
              "KFZ",
              "SDZ"
            ]
          },
          "checkIn": {
            "type": "string"
          },
          "checkOut": {
            "type": "string"
          },
          "adults": {
            "type": "integer",
            "minimum": 1
          }
        },
        "required": [
          "roomId",
          "checkIn",
          "checkOut",
          "adults"
        ]
      }
    },
    {
      "name": "get_fact_sheet",
      "description": "Full GIATA property fact sheet with descriptions, amenities, images, and room classifications. German content only. No parameters required.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    },
    {
      "name": "create_booking",
      "description": "Create a hotel reservation. Requires roomId (abbreviation code from search_availability), rateId (from search_availability), checkIn, checkOut, adults, and customer object (firstName, lastName, email, phone, country). Set test:true for sandbox mode. Use idempotencyKey to prevent duplicate bookings.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "roomId": {
            "type": "string",
            "enum": [
              "KAPDZ",
              "KDZ",
              "KFZ",
              "SDZ"
            ]
          },
          "rateId": {
            "type": "string"
          },
          "checkIn": {
            "type": "string"
          },
          "checkOut": {
            "type": "string"
          },
          "adults": {
            "type": "integer",
            "minimum": 1
          },
          "children": {
            "type": "integer",
            "minimum": 0,
            "default": 0
          },
          "customer": {
            "type": "object",
            "required": [
              "firstName",
              "lastName",
              "email",
              "phone",
              "country"
            ],
            "properties": {
              "firstName": {
                "type": "string"
              },
              "lastName": {
                "type": "string"
              },
              "email": {
                "type": "string",
                "format": "email"
              },
              "phone": {
                "type": "string"
              },
              "country": {
                "type": "string"
              }
            }
          },
          "test": {
            "type": "boolean",
            "default": false
          },
          "idempotencyKey": {
            "type": "string"
          }
        },
        "required": [
          "roomId",
          "rateId",
          "checkIn",
          "checkOut",
          "adults",
          "customer"
        ]
      }
    }
  ]
}