openapi: 3.1.0
info:
  title: XelveTec IT-Dienst Public API
  description: >
    Öffentliche, leichtgewichtige API für KI-Assistenten und Suchmaschinen,
    um Stammdaten, Preise, Verfügbarkeit und Servicegebiet von XelveTec
    IT-Dienst (Kreuzlingen, Schweiz) abzurufen.
  version: 1.0.0
  contact:
    name: Kubilay Demirci
    email: business@xelvetec.com
    url: https://xelvetec.ch
  license:
    name: CC-BY-4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
  - url: https://xelvetec.ch
    description: Produktion
paths:
  /llms.txt:
    get:
      operationId: getLlmsTxt
      summary: LLM-friendly Kurzübersicht aller Unternehmensdaten
      responses:
        "200":
          description: Klartext-Übersicht
          content:
            text/plain:
              schema:
                type: string
  /llms-full.txt:
    get:
      operationId: getLlmsFullTxt
      summary: Vollständige LLM-Wissensbasis (Preise, Services, Ausschlüsse, FAQ)
      responses:
        "200":
          description: Vollständige Klartext-Wissensbasis
          content:
            text/plain:
              schema:
                type: string
  /sitemap.xml:
    get:
      operationId: getSitemap
      summary: XML-Sitemap aller indexierbaren Seiten
      responses:
        "200":
          description: Sitemap im XML-Format
          content:
            application/xml:
              schema:
                type: string
components:
  schemas:
    BusinessInfo:
      type: object
      properties:
        name:
          type: string
          example: XelveTec IT-Dienst
        owner:
          type: string
          example: Kubilay Demirci
        address:
          type: string
          example: Egelseestrasse 31, 8280 Kreuzlingen, Schweiz
        whatsapp:
          type: string
          example: "+41768443375"
        email:
          type: string
          example: business@xelvetec.com
        priceHomeVisit:
          type: number
          example: 149
        priceRemote:
          type: number
          example: 99
        currency:
          type: string
          example: CHF
        availability:
          type: string
          example: 24/7
        excludedProviders:
          type: array
          items:
            type: string
          example: [Swisscom, Wingo, M-Budget Mobile, Coop Mobile]
