{
    "name": "Accommodation direct booking requests",
    "description": "Availability, quotes and pending requests. Host confirmation precedes bank transfer.",
    "version": "1.0.0",
    "url": "https://fewo-tremmel.de/api/accommodation/mcp",
    "documentationUrl": "https://fewo-tremmel.de/faq/buchen-fuer-ki-agenten",
    "capabilities": {
        "streaming": false,
        "pushNotifications": false
    },
    "defaultInputModes": [
        "application/json"
    ],
    "defaultOutputModes": [
        "application/json"
    ],
    "security": [],
    "securitySchemes": {
        "OAuth2": {
            "type": "oauth2",
            "description": "OAuth 2.0 client credentials (RFC 6749 §4.4): client_id = public half of the agent key, client_secret = the full agent key. See https://fewo-tremmel.de/.well-known/auth.md.",
            "oauth2MetadataUrl": "https://fewo-tremmel.de/.well-known/oauth-authorization-server",
            "flows": {
                "clientCredentials": {
                    "tokenUrl": "https://fewo-tremmel.de/api/oauth/token",
                    "scopes": {
                        "communication:chat": "communication:chat",
                        "search:read": "Read the public discovery surface and cross-entity platform search (`GET /api/search`).",
                        "erp:read": "Read ERP module data — lists, detail views, exports (`GET /api/erp/…`).",
                        "erp:write": "Create and update ERP records (CRUD writes).",
                        "reports:run": "Execute reporting and analytics reads (`GET /api/reporting/…`).",
                        "audit:read": "Read this tenant's append-only agent audit log (`GET /api/agent-auth/audit`).",
                        "commerce:order": "Complete ACP checkout sessions into orders / booking offers (see /.well-known/payments.json).",
                        "timetracking:read": "timetracking:read",
                        "pii.pseudonymized:read": "pii.pseudonymized:read"
                    }
                }
            }
        }
    },
    "skills": [
        {
            "id": "availability",
            "name": "Availability",
            "description": "Read public tenant-bound availability.",
            "tags": [
                "lodging"
            ]
        },
        {
            "id": "price",
            "name": "Price",
            "description": "Calculate a non-binding protected quote.",
            "tags": [
                "lodging"
            ]
        },
        {
            "id": "booking_request",
            "name": "Booking request",
            "description": "Submit a pending request with guest permission and website proofs.",
            "tags": [
                "lodging"
            ]
        }
    ],
    "x-a2a-status": "preview",
    "x-transport-note": "Discovery only: no A2A task server. Use MCP or REST; website CSRF and proof rules remain mandatory.",
    "x-mcp": {
        "url": "https://fewo-tremmel.de/api/accommodation/mcp",
        "transport": "streamable-http",
        "tools": [
            "availability",
            "price",
            "booking_request"
        ],
        "authentication": "public-form-session",
        "guestOAuth": false,
        "csrfRequired": true,
        "spamProtection": "same-as-website",
        "completionOutcome": {
            "outcome": "booking_request",
            "fulfillmentComplete": false,
            "bookingConfirmed": false,
            "confirmationRequiredBy": "host"
        },
        "authorization": {
            "type": "oauth2",
            "specification": "MCP authorization 2025-06-18 (RFC 9728 + RFC 8414)",
            "required": false,
            "appliesTo": "https://fewo-tremmel.de/api/mcp",
            "protectedResourceMetadata": "https://fewo-tremmel.de/.well-known/oauth-protected-resource",
            "authorizationServerMetadata": "https://fewo-tremmel.de/.well-known/oauth-authorization-server",
            "authorizationServers": [
                "https://fewo-tremmel.de"
            ],
            "grantTypes": [
                "client_credentials"
            ],
            "tokenEndpoint": "https://fewo-tremmel.de/api/oauth/token"
        },
        "discovery": {
            "payments": "https://fewo-tremmel.de/.well-known/payments.json",
            "ucp": "https://fewo-tremmel.de/.well-known/ucp",
            "productFeed": "https://fewo-tremmel.de/api/acp/product-feed",
            "mcp": "https://fewo-tremmel.de/.well-known/mcp.json",
            "openapi": "https://fewo-tremmel.de/api/accommodation/agent-openapi.json"
        }
    },
    "x-openapi": "https://fewo-tremmel.de/api/accommodation/agent-openapi.json",
    "x-payments": "https://fewo-tremmel.de/.well-known/payments.json",
    "x-ucp": "https://fewo-tremmel.de/.well-known/ucp",
    "x-product-feed": "https://fewo-tremmel.de/api/acp/product-feed",
    "x-calendars": [
        "https://fewo-tremmel.de/api/accommodation/calendars/2-persons.ics",
        "https://fewo-tremmel.de/api/accommodation/calendars/4-persons.ics"
    ],
    "discovery": {
        "payments": "https://fewo-tremmel.de/.well-known/payments.json",
        "ucp": "https://fewo-tremmel.de/.well-known/ucp",
        "productFeed": "https://fewo-tremmel.de/api/acp/product-feed",
        "mcp": "https://fewo-tremmel.de/.well-known/mcp.json",
        "openapi": "https://fewo-tremmel.de/api/accommodation/agent-openapi.json"
    },
    "x-booking-policy": {
        "instant_confirmation": false,
        "workflow": "request -> host confirmation -> payment by agreed bank transfer",
        "guest_oauth": "not_available",
        "ucp_lodging": "implemented_draft",
        "ucp_lodging_endpoint": "/api/ucp/booking-sessions",
        "ucp_lodging_version": "2026-10-28",
        "ucp_lodging_completion": "complete_in_progress; non-binding request requiring host confirmation",
        "instant_booking_enabled": false
    },
    "protocolVersion": "0.3.0"
}