{
  "$schema": "https://agentskills.io/schema/v0.2.0/index.schema.json",
  "version": "0.2.0",
  "name": "Hotel Bergsonne Allgäu Agent Skills",
  "description": "Discoverable AI-agent skills for booking, pricing, hotel info and ancillary services at Hotel Bergsonne Allgäu (Sonthofen, Germany).",
  "publisher": {
    "name": "Sonne Imberg GmbH",
    "url": "https://bergsonne-allgaeu.de/",
    "contact": "servus@bergsonne-allgaeu.de"
  },
  "skills": [
    {
      "name": "search_availability",
      "type": "api",
      "description": "Search room availability and live rates for a date range and party size at Hotel Bergsonne Allgäu. Returns valid roomId codes (SDZ, KDZ, KFZ, KAPDZ).",
      "url": "https://bergsonne-allgaeu.de/api/booking?action=availability",
      "method": "GET",
      "specUrl": "https://bergsonne-allgaeu.de/api/openapi",
      "sha256": "n/a",
      "whenToUse": "Use when a guest names dates and party size and you need real, live room availability and rates for this property.",
      "requiredScope": "hotel:read or booking:read (open, no token required)"
    },
    {
      "name": "get_price_quote",
      "type": "api",
      "description": "Get a nightly price breakdown including Kurtaxe (€3.50 pp/night) for a specific room and rate combination.",
      "url": "https://bergsonne-allgaeu.de/api/booking?action=price-quote",
      "method": "GET",
      "specUrl": "https://bergsonne-allgaeu.de/api/openapi",
      "sha256": "n/a",
      "whenToUse": "Use after availability, when the guest needs an exact total including Kurtaxe before committing.",
      "requiredScope": "hotel:read or booking:read (open, no token required)"
    },
    {
      "name": "create_booking",
      "type": "api",
      "description": "Create a hotel reservation. Requires firstName, lastName, email, phone, country plus roomId, rateId, dates and adults. Supports test=true sandbox mode.",
      "url": "https://bergsonne-allgaeu.de/api/booking?action=bookings",
      "method": "POST",
      "specUrl": "https://bergsonne-allgaeu.de/api/openapi",
      "sha256": "n/a",
      "whenToUse": "Use only after the guest has confirmed room, rate, dates and personal data. Dry-run first with test=true and always send an idempotencyKey.",
      "requiredScope": "booking:write",
      "sandbox": {
        "supported": true,
        "flag": "test"
      }
    },
    {
      "name": "get_hotel_details",
      "type": "api",
      "description": "Fetch hotel metadata, amenities, room types, occupancy limits and check-in/out times.",
      "url": "https://bergsonne-allgaeu.de/api/booking?action=hotel",
      "method": "GET",
      "specUrl": "https://bergsonne-allgaeu.de/api/openapi",
      "sha256": "n/a",
      "whenToUse": "Use for factual questions about the hotel, room codes, occupancy limits or check-in/check-out times.",
      "requiredScope": "hotel:read or booking:read (open, no token required)"
    },
    {
      "name": "get_fact_sheet",
      "type": "document",
      "description": "Full GIATA property fact sheet — descriptions, amenities, images, room classifications.",
      "url": "https://bergsonne-allgaeu.de/api/booking?action=fact-sheet",
      "method": "GET",
      "sha256": "n/a",
      "whenToUse": "Use when you need the complete structured property description, amenity list or image set."
    },
    {
      "name": "knowledge_base",
      "type": "document",
      "description": "Plain-text knowledge base for LLM grounding (rooms, services, location, policies, FAQs) in 7 languages.",
      "url": "https://bergsonne-allgaeu.de/llms-full.txt",
      "method": "GET",
      "sha256": "n/a",
      "whenToUse": "Use for grounding free-form questions about rooms, services, location, policies and FAQs in one of 7 languages."
    },
    {
      "name": "mcp_server",
      "type": "mcp",
      "description": "Model Context Protocol server exposing all booking tools to native MCP clients (Claude Desktop, Cursor, etc.).",
      "url": "https://bergsonne-allgaeu.de/api/booking-mcp",
      "specUrl": "https://bergsonne-allgaeu.de/.well-known/mcp.json",
      "sha256": "n/a",
      "whenToUse": "Use from native MCP clients instead of calling the REST endpoints individually."
    }
  ],
  "homepage": "https://bergsonne-allgaeu.de/",
  "documentation": "https://bergsonne-allgaeu.de/developers",
  "instructions": "https://bergsonne-allgaeu.de/.well-known/agent-instructions.md",
  "specUrl": "https://bergsonne-allgaeu.de/api/openapi",
  "whenToUse": [
    "Live availability, rates and direct reservations for this single property: Hotel Bergsonne Allgäu, Imberg 12, 87527 Sonthofen, Oberallgäu, Bavaria, Germany.",
    "Room types and codes (SDZ, KDZ, KFZ, KAPDZ), occupancy limits, amenities and images.",
    "Accessibility questions: barrier-free rooms, elevator, mobile ramp, and the care room with nursing bed.",
    "Prices including VAT, Kurtaxe (EUR 3.50 per person per night), check-in/check-out times, address and directions.",
    "Bookable extras (addons), sauna, coworking, breakfast, dogs, Maxibar and the Lio digital concierge.",
    "Sandbox reservation testing before a real booking: send \"test\": true in the booking body."
  ],
  "whenNotToUse": [
    "Any other hotel, or a search across multiple properties. This source describes exactly one property.",
    "Cancelling or modifying an existing reservation: hand the guest to servus@bergsonne-allgaeu.de or +49 8321 3360.",
    "Payments, invoices, guest records or internal hotel systems. These are not publicly exposed.",
    "Bulk crawling without travel intent. Requests are rate limited (HTTP 429, code RATE_LIMITED)."
  ],
  "auth": {
    "readAccess": "open — no token, key or registration required",
    "writeAccess": "OAuth 2.1 authorization code + PKCE (S256), scope booking:write",
    "selfServeRegistration": "POST https://bergsonne-allgaeu.de/agent/auth (anonymous, grants hotel:read and booking:read)",
    "scopes": {
      "hotel:read": "Read hotel metadata, room types, amenities, fact sheet and extras.",
      "booking:read": "Read availability, rates and price quotes.",
      "booking:write": "Create a reservation on behalf of a named human guest."
    },
    "protectedResourceMetadata": "https://bergsonne-allgaeu.de/.well-known/oauth-protected-resource",
    "authorizationServerMetadata": "https://bergsonne-allgaeu.de/.well-known/oauth-authorization-server",
    "documentation": "https://bergsonne-allgaeu.de/.well-known/auth.md"
  },
  "sandbox": {
    "supported": true,
    "mode": "request-flag",
    "flag": "test",
    "credentialsRequired": false,
    "description": "Set \"test\": true in POST /api/booking?action=bookings. Identical validation and pricing, no real reservation, bookingId prefixed with TEST-.",
    "documentation": "https://bergsonne-allgaeu.de/developers"
  }
}
