{
    "openapi": "3.0.3",
    "info": {
        "title": "Angebotsanfrage mobile Wärme und Kälte",
        "version": "1.0.0",
        "summary": "Angebotsanfrage für mobile Heizzentralen und Kälteanlagen — auch durch einen KI-Assistenten im Auftrag eines Interessenten.",
        "description": "Über diesen Endpunkt kann eine Angebotsanfrage ohne Browser und ohne Formular eingereicht werden.\n\nDie Anfrage wird serverseitig geprüft, gespeichert und an den Leadmanager der Lindenfield GmbH übergeben. Anschließend meldet sich ein Fachberater bei den angegebenen Kontaktdaten.\n\nPflicht sind: lead_type_id, mindestens eine Kontaktmöglichkeit in address (email oder phone) sowie consent — die ausdrückliche Einwilligung des Interessenten, dass seine Daten zur Angebotserstellung an Partnerfirmen weitergegeben werden dürfen. Ohne diese Einwilligung darf keine Anfrage gestellt werden.\n\nWortlaut der Einwilligung, die dem Interessenten vor dem Senden vorzulegen ist: Ich habe die Datenschutzbestimmungen und Impressum zur Kenntnis genommen. Ich stimme zu, dass die Lindenfield GmbH meine Daten zur Erstellung von Angeboten an Partnerfirmen weiterleitet und ich von diesen per E-Mail und Telefon kontaktiert werde. Auf Grundlage des Geschäftszwecks erhalten Sie auf Ihr Anliegen ausgerichtete Informationen. Die Erhebung erfolgt auf Grundlage von Art. 6, Abs. 1 lit. a), b), f) (DSGVO) und ist freiwillig. Abmeldung jederzeit möglich. Datenschutzerklärung: https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/datenschutzerklaerung/ — Impressum: https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/impressum/\n\nBei Optionslisten wird immer die option_id übertragen, nie der Text der Option.",
        "contact": {
            "name": "Lindenfield GmbH",
            "email": "info@deutsche-thermo.de",
            "url": "https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/impressum/"
        }
    },
    "servers": [
        {
            "url": "https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai"
        }
    ],
    "security": [
        {
            "ClientToken": []
        }
    ],
    "x-lead-types": [
        {
            "lead_type_id": 3,
            "name": "Mobile Wärme",
            "beschreibung": "Mobile Heizzentrale, Heizmobil, Heizcontainer und Bauheizung von 20 bis 2.500 kW — mieten oder kaufen."
        },
        {
            "lead_type_id": 4,
            "name": "Mobile Kälte",
            "beschreibung": "Kaltwassersatz, mobile Klimaanlage, Kühlturm und Rückkühler von 2 bis 9.500 kW — mieten oder kaufen."
        }
    ],
    "x-rate-limit": {
        "pro_stunde": 5,
        "pro_tag": 20,
        "hinweis": "Bei Überschreitung antwortet der Endpunkt mit HTTP 429."
    },
    "paths": {
        "/api/anfrage": {
            "post": {
                "operationId": "angebotsanfrageStellen",
                "summary": "Angebotsanfrage einreichen",
                "description": "Reicht eine Angebotsanfrage ein. Ein KI-Assistent gibt sich zusätzlich über ai_agent zu erkennen.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "oneOf": [
                                    {
                                        "$ref": "#/components/schemas/AnfrageWaerme"
                                    },
                                    {
                                        "$ref": "#/components/schemas/AnfrageKaelte"
                                    }
                                ]
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Anfrage angenommen",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "status": {
                                            "type": "string",
                                            "enum": [
                                                "success"
                                            ]
                                        },
                                        "leadNumber": {
                                            "type": "string",
                                            "description": "Vorgangsnummer für Rückfragen."
                                        },
                                        "message": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "X-Client-Token fehlt oder ist ungültig",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Fehler"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Validierungsfehler; bei ungültigen Optionslisten nennt allowed_option_ids die erlaubten Werte",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Fehler"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Mengenlimit erreicht",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Fehler"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Serverfehler",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Fehler"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Der Leadmanager hat die Anfrage nicht angenommen",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Fehler"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/anfrage/schema": {
            "get": {
                "operationId": "schemaLesen",
                "summary": "Diese Beschreibung abrufen",
                "security": [],
                "responses": {
                    "200": {
                        "description": "OpenAPI-Beschreibung",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ClientToken": {
                "type": "apiKey",
                "in": "header",
                "name": "X-Client-Token",
                "description": "Jede Anfrage sendet den Header X-Client-Token mit dem unten genannten Wert. Er ist bewusst öffentlich, damit KI-Assistenten die Anfrage ohne Rückfrage stellen können.",
                "x-token": "ce333497a71747ab4b05c4a33b291164"
            }
        },
        "schemas": {
            "AnfrageWaerme": {
                "type": "object",
                "title": "Angebotsanfrage Mobile Wärme",
                "description": "Mobile Heizzentrale, Heizmobil, Heizcontainer und Bauheizung von 20 bis 2.500 kW — mieten oder kaufen.",
                "required": [
                    "lead_type_id",
                    "address",
                    "consent"
                ],
                "additionalProperties": false,
                "properties": {
                    "lead_type_id": {
                        "type": "integer",
                        "enum": [
                            3
                        ],
                        "title": "LeadArt",
                        "description": "Mobile Wärme"
                    },
                    "consent": {
                        "type": "boolean",
                        "enum": [
                            true
                        ],
                        "title": "Einwilligung",
                        "description": "Bestätigt, dass der Interessent der Weitergabe seiner Daten an Partnerfirmen zur Angebotserstellung zugestimmt hat (Art. 6 Abs. 1 lit. a DSGVO). Der Interessent muss dafür denselben Wortlaut bestätigt haben, den das Formular zeigt: Ich habe die Datenschutzbestimmungen und Impressum zur Kenntnis genommen. Ich stimme zu, dass die Lindenfield GmbH meine Daten zur Erstellung von Angeboten an Partnerfirmen weiterleitet und ich von diesen per E-Mail und Telefon kontaktiert werde. Auf Grundlage des Geschäftszwecks erhalten Sie auf Ihr Anliegen ausgerichtete Informationen. Die Erhebung erfolgt auf Grundlage von Art. 6, Abs. 1 lit. a), b), f) (DSGVO) und ist freiwillig. Abmeldung jederzeit möglich. Datenschutzerklärung: https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/datenschutzerklaerung/ — Impressum: https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/impressum/"
                    },
                    "ai_agent": {
                        "type": "string",
                        "maxLength": 120,
                        "title": "Anfragende KI",
                        "description": "Name und Version des KI-Assistenten, der die Anfrage im Auftrag des Interessenten stellt."
                    },
                    "form_name": {
                        "type": "string",
                        "maxLength": 120,
                        "title": "Quelle",
                        "description": "Optionale Bezeichnung des Anfrageweges. Ohne Angabe wird \"KI-Anfrage\" gesetzt, sobald ai_agent gefüllt ist."
                    },
                    "domain": {
                        "type": "string",
                        "title": "Domain",
                        "description": "Wird serverseitig gesetzt und muss nicht übergeben werden.",
                        "readOnly": true
                    },
                    "address": {
                        "type": "object",
                        "title": "Kontaktdaten des Interessenten",
                        "description": "Mindestens email oder phone ist erforderlich. Straße, Postleitzahl und Ort möglichst vollständig angeben — der Einsatzort bestimmt den regionalen Anbieter.",
                        "additionalProperties": false,
                        "properties": {
                            "salutation": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Anrede",
                                "description": "Optional. \"Herr\" oder \"Frau\". Wird sonst automatisch anhand des Vornamens ermittelt."
                            },
                            "name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Vollständiger Name",
                                "description": "Optional, alternativ zu first_name/last_name. Wird automatisch in Vor- und Nachname aufgeteilt."
                            },
                            "first_name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Vorname",
                                "description": "Optional, wenn \"name\" übergeben wird."
                            },
                            "last_name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Nachname",
                                "description": "Optional, wenn \"name\" übergeben wird."
                            },
                            "company_name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Firma",
                                "description": "Optional."
                            },
                            "email": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "E-Mail-Adresse",
                                "description": "E-Mail-Adresse des Interessenten."
                            },
                            "phone": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Telefon",
                                "description": "Telefonnummer des Interessenten."
                            },
                            "street": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Straße und Hausnummer",
                                "description": "Optional."
                            },
                            "postcode": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Postleitzahl",
                                "description": "Wird zusammen mit street/city per Geocoding validiert und mit Koordinaten angereichert."
                            },
                            "city": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Ort",
                                "description": "Optional."
                            }
                        }
                    },
                    "fields": {
                        "type": "object",
                        "title": "Angaben zum Bedarf",
                        "description": "Schlüssel sind Feld-IDs, Werte sind Text, Zahl oder option_id. Alle Angaben sind freiwillig; je mehr gefüllt ist, desto genauer das Angebot.",
                        "additionalProperties": false,
                        "properties": {
                            "11": {
                                "title": "Verwendung",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    8,
                                    9,
                                    10,
                                    11,
                                    12,
                                    13,
                                    14
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Heizungsausfall",
                                    "2": "Baubeheizung",
                                    "3": "Estrich aufheizen",
                                    "4": "Nah- / Fernwärmenetz",
                                    "5": "Biogasanlage",
                                    "6": "Dampferzeugung",
                                    "7": "Prozesswärme",
                                    "8": "Sonstige",
                                    "9": "Zeltheizung",
                                    "10": "Übergangsversorgung",
                                    "11": "Kalkulation / Ausschreibung / LV",
                                    "12": "Anlagenreservierung",
                                    "13": "Notfall / akuter Anlagenausfall",
                                    "14": "Notfallplanung"
                                }
                            },
                            "12": {
                                "title": "Bedarfszeitpunkt",
                                "type": "integer",
                                "enum": [
                                    6,
                                    7,
                                    5,
                                    4,
                                    3,
                                    8
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "6": "Unklar / Weiß nicht",
                                    "7": "Später",
                                    "5": "In 3-12 Monate",
                                    "4": "Innerhalb von 3 Monaten",
                                    "3": "Innerhalb von 30 Tagen",
                                    "8": "So schnell wie möglich"
                                }
                            },
                            "13": {
                                "title": "Heizleistung bekannt",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Ja",
                                    "2": "Nein"
                                }
                            },
                            "14": {
                                "title": "Heizleistung",
                                "type": "integer",
                                "enum": [
                                    7,
                                    5,
                                    4,
                                    3,
                                    2,
                                    1,
                                    8,
                                    9
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "7": "Unbekannt",
                                    "5": "501-1000kW",
                                    "4": "201-500kW",
                                    "3": "101-200kW",
                                    "2": "37-100kW",
                                    "1": "Kleiner 36kW",
                                    "8": "1001-2500kW",
                                    "9": "Größer 2500kW"
                                }
                            },
                            "16": {
                                "title": "Kommentar",
                                "type": "string",
                                "maxLength": 500
                            },
                            "33": {
                                "title": "Anzahl x Heizleistung (kW)",
                                "type": "string",
                                "maxLength": 500
                            },
                            "34": {
                                "title": "Mietdauer (Tage)",
                                "type": "string",
                                "maxLength": 500
                            },
                            "35": {
                                "title": "Aufstellzeitpunkt (Tage)",
                                "type": "string",
                                "maxLength": 500
                            },
                            "39": {
                                "title": "Schlauchlänge",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    8
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Unbekannt / Andere",
                                    "2": "10 Meter",
                                    "3": "20 Meter",
                                    "4": "30 Meter",
                                    "5": "Länger 30 Meter",
                                    "6": "kein Schlauch",
                                    "7": "3 Meter",
                                    "8": "5 Meter"
                                }
                            },
                            "40": {
                                "title": "Standzeit",
                                "type": "integer",
                                "enum": [
                                    1,
                                    7,
                                    6,
                                    22,
                                    21,
                                    4,
                                    3,
                                    9,
                                    8
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Noch unklar",
                                    "7": "Dauerhaft",
                                    "6": "länger als 1 Jahr",
                                    "22": "7 - 12 Monate",
                                    "21": "3 - 6 Monate",
                                    "4": "1-3 Monate",
                                    "3": "2-4 Wochen",
                                    "9": "ca. 1 Woche",
                                    "8": "Weniger als 1 Woche"
                                }
                            },
                            "41": {
                                "title": "Mieten_Kaufen_Beides",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Kaufen",
                                    "2": "Mieten",
                                    "5": "Wartung",
                                    "6": "Reparatur"
                                }
                            },
                            "42": {
                                "title": "Bevorzugter Brennstoff",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    9,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    8,
                                    10
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Heizöl",
                                    "2": "Flüssiggas / Bio Propan",
                                    "9": "Biogas /  Biomethan",
                                    "3": "Erdgas",
                                    "4": "Pellets",
                                    "5": "Hackschnitzel",
                                    "6": "Strom",
                                    "7": "Anderer / Beratung / Egal",
                                    "8": "Wärmepumpe",
                                    "10": "Regenerative Energie"
                                }
                            },
                            "43": {
                                "title": "Wärmeverteilung",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    5,
                                    6,
                                    7,
                                    8,
                                    9,
                                    10,
                                    11
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Wasser (Vorlauf / Rücklauf)",
                                    "2": "Luft (Warmluftschlauch)",
                                    "3": "Wasser + Luftheizregister",
                                    "5": "Thermalöl",
                                    "6": "Heutrocknung",
                                    "7": "Nur Heizregister ohne Wärmeerzeugung",
                                    "8": "Nur Frischwasserstation",
                                    "9": "Wasser + Frischwasserstation",
                                    "10": "Nur Pufferspeicher",
                                    "11": "Wärmeübertragungsanlage"
                                }
                            },
                            "44": {
                                "title": "Privat / gewerblich",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Privat",
                                    "2": "Gewerblich",
                                    "3": "Weiß nicht",
                                    "4": "Heizungsbauer / SHK Betrieb",
                                    "5": "Planer / Ingenieur",
                                    "6": "Öffentliche Einrichtung"
                                }
                            },
                            "45": {
                                "title": "Neukauf oder Gebrauchtkauf",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Neukauf",
                                    "2": "Gebrauchtkauf",
                                    "3": "Neu oder gebraucht"
                                }
                            },
                            "46": {
                                "title": "Raumgröße",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Kleiner 60 m2",
                                    "2": "61-100 m2",
                                    "3": "101 - 200 m2",
                                    "4": "201 - 300 m2",
                                    "5": "Größer 300 m2"
                                }
                            },
                            "69": {
                                "title": "Angebots- / Rechnungsadresse",
                                "type": "string",
                                "maxLength": 2000
                            },
                            "70": {
                                "title": "Energielieferung",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Bitte mit Energielieferung",
                                    "2": "Energielieferung optional",
                                    "3": "Ohne Energielieferung",
                                    "4": "Weiß nicht / unklar"
                                }
                            },
                            "91": {
                                "title": "Projektphase",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Planer & Ingenieur & Architekt zur LV Erstellung",
                                    "2": "LV in Kalkulation (Kalkulator | Kalkulation)",
                                    "3": "Entscheider | LV Auftrag im Haus | Bauleitender Planer & Ingenieur & Architekt",
                                    "4": "Unklar",
                                    "6": "Anfrage für Kunde"
                                }
                            },
                            "184": {
                                "title": "Estrich aufheizen Fläche",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "bis zu 200 m² Estrich (ca. 20 kW elektrisch / 32 A notwendig)",
                                    "2": "bis zu 350 m² Estrich (ca. 36 kW elektrisch / 63 A notwendig)",
                                    "3": "mehr als 350 m² Estrich",
                                    "4": "Weiß nicht / Unklar"
                                }
                            },
                            "190": {
                                "title": "Mobile Heizung Anlieferung & Aufbau",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Selbst abholen",
                                    "2": "Nur Lieferung, Anschluss bauseits",
                                    "3": "Lieferung, Aufbau, Inbetriebnahme",
                                    "4": "Weiß nicht / Beratung erwünscht",
                                    "5": "Lieferung, Leitungsbau, Inbetriebnahme",
                                    "6": "Planung/Auslegung, Lieferung, Leitungsbau, Inbetriebnahme"
                                }
                            },
                            "191": {
                                "title": "Mobile Heizung Anschlüsse",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Ja, Anschlüsse sind vorhanden",
                                    "2": "Nein, müssen erstellt werden",
                                    "3": "Weiß nicht / Unklar"
                                }
                            },
                            "192": {
                                "title": "Mobile Heizung Frischwasserstation",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Frischwasserstation benötigt",
                                    "2": "Nein, wird nicht benötigt",
                                    "3": "Weiß nicht / Unklar"
                                }
                            },
                            "193": {
                                "title": "Leistung kVA / KW",
                                "type": "string",
                                "maxLength": 500
                            },
                            "284": {
                                "title": "Test",
                                "type": "string",
                                "maxLength": 500
                            },
                            "311": {
                                "title": "Art des Angebot",
                                "type": "integer",
                                "enum": [
                                    5,
                                    7,
                                    8,
                                    9,
                                    10,
                                    11,
                                    12,
                                    13,
                                    14
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "5": "Sonstiges / Anderes Angebot",
                                    "7": "Informationsgespräch → Richtpreisangebot",
                                    "8": "Erstellung Ausschreibung → LV Texte benötigt",
                                    "9": "LV in Kalkulation → Preisanfrage",
                                    "10": "Havarie / Notfall",
                                    "11": "freie Auftragsvergabe → Angebot",
                                    "12": "Anfrage für meinen Kunden",
                                    "13": "Bereitschaftsvertrag",
                                    "14": "Estrich aufheizen"
                                }
                            },
                            "315": {
                                "title": "Art des Angebot",
                                "type": "integer",
                                "enum": [
                                    5,
                                    4,
                                    1,
                                    2,
                                    3,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "5": "Sonstiges / Anderes Angebot",
                                    "4": "Ausschreibung / LV - Angebot",
                                    "1": "Informationsgespräch",
                                    "2": "Budgetangebot",
                                    "3": "Detailangebot",
                                    "6": "Notfall / Expressangebot"
                                }
                            },
                            "381": {
                                "title": "Pufferspeicher (Zweck)",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Heizen",
                                    "2": "Kühlen (Kaltwasser)",
                                    "3": "Trinkwasser"
                                }
                            },
                            "382": {
                                "title": "Pufferspeicher (Volumen)",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Unklar / Beratung erwünscht",
                                    "2": "bis 500 Liter",
                                    "3": "501 - 1.000 Liter",
                                    "4": "1.001 - 5.000 Liter",
                                    "5": "5.001 - 10.000 Liter",
                                    "6": "mehr als 10.000 Liter"
                                }
                            },
                            "386": {
                                "title": "Container oder Anhänger?",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Heizcontainer",
                                    "2": "Anhänger",
                                    "3": "Weiß nicht / egal"
                                }
                            }
                        }
                    }
                }
            },
            "AnfrageKaelte": {
                "type": "object",
                "title": "Angebotsanfrage Mobile Kälte",
                "description": "Kaltwassersatz, mobile Klimaanlage, Kühlturm und Rückkühler von 2 bis 9.500 kW — mieten oder kaufen.",
                "required": [
                    "lead_type_id",
                    "address",
                    "consent"
                ],
                "additionalProperties": false,
                "properties": {
                    "lead_type_id": {
                        "type": "integer",
                        "enum": [
                            4
                        ],
                        "title": "LeadArt",
                        "description": "Mobile Kälte"
                    },
                    "consent": {
                        "type": "boolean",
                        "enum": [
                            true
                        ],
                        "title": "Einwilligung",
                        "description": "Bestätigt, dass der Interessent der Weitergabe seiner Daten an Partnerfirmen zur Angebotserstellung zugestimmt hat (Art. 6 Abs. 1 lit. a DSGVO). Der Interessent muss dafür denselben Wortlaut bestätigt haben, den das Formular zeigt: Ich habe die Datenschutzbestimmungen und Impressum zur Kenntnis genommen. Ich stimme zu, dass die Lindenfield GmbH meine Daten zur Erstellung von Angeboten an Partnerfirmen weiterleitet und ich von diesen per E-Mail und Telefon kontaktiert werde. Auf Grundlage des Geschäftszwecks erhalten Sie auf Ihr Anliegen ausgerichtete Informationen. Die Erhebung erfolgt auf Grundlage von Art. 6, Abs. 1 lit. a), b), f) (DSGVO) und ist freiwillig. Abmeldung jederzeit möglich. Datenschutzerklärung: https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/datenschutzerklaerung/ — Impressum: https://mobile-heizung-mieten-de--lindenfield.site.cortexion.ai/impressum/"
                    },
                    "ai_agent": {
                        "type": "string",
                        "maxLength": 120,
                        "title": "Anfragende KI",
                        "description": "Name und Version des KI-Assistenten, der die Anfrage im Auftrag des Interessenten stellt."
                    },
                    "form_name": {
                        "type": "string",
                        "maxLength": 120,
                        "title": "Quelle",
                        "description": "Optionale Bezeichnung des Anfrageweges. Ohne Angabe wird \"KI-Anfrage\" gesetzt, sobald ai_agent gefüllt ist."
                    },
                    "domain": {
                        "type": "string",
                        "title": "Domain",
                        "description": "Wird serverseitig gesetzt und muss nicht übergeben werden.",
                        "readOnly": true
                    },
                    "address": {
                        "type": "object",
                        "title": "Kontaktdaten des Interessenten",
                        "description": "Mindestens email oder phone ist erforderlich. Straße, Postleitzahl und Ort möglichst vollständig angeben — der Einsatzort bestimmt den regionalen Anbieter.",
                        "additionalProperties": false,
                        "properties": {
                            "salutation": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Anrede",
                                "description": "Optional. \"Herr\" oder \"Frau\". Wird sonst automatisch anhand des Vornamens ermittelt."
                            },
                            "name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Vollständiger Name",
                                "description": "Optional, alternativ zu first_name/last_name. Wird automatisch in Vor- und Nachname aufgeteilt."
                            },
                            "first_name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Vorname",
                                "description": "Optional, wenn \"name\" übergeben wird."
                            },
                            "last_name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Nachname",
                                "description": "Optional, wenn \"name\" übergeben wird."
                            },
                            "company_name": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Firma",
                                "description": "Optional."
                            },
                            "email": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "E-Mail-Adresse",
                                "description": "E-Mail-Adresse des Interessenten."
                            },
                            "phone": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Telefon",
                                "description": "Telefonnummer des Interessenten."
                            },
                            "street": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Straße und Hausnummer",
                                "description": "Optional."
                            },
                            "postcode": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Postleitzahl",
                                "description": "Wird zusammen mit street/city per Geocoding validiert und mit Koordinaten angereichert."
                            },
                            "city": {
                                "type": "string",
                                "maxLength": 200,
                                "title": "Ort",
                                "description": "Optional."
                            }
                        }
                    },
                    "fields": {
                        "type": "object",
                        "title": "Angaben zum Bedarf",
                        "description": "Schlüssel sind Feld-IDs, Werte sind Text, Zahl oder option_id. Alle Angaben sind freiwillig; je mehr gefüllt ist, desto genauer das Angebot.",
                        "additionalProperties": false,
                        "properties": {
                            "17": {
                                "title": "Verwendung",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    8,
                                    9,
                                    10,
                                    16,
                                    15,
                                    11,
                                    17,
                                    18
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Übergangsversorgung",
                                    "2": "Tieftemperatur Kühlung",
                                    "3": "Notfallplanung",
                                    "4": "Prozesskühlung",
                                    "5": "Reparatur Wartung Sanierung",
                                    "6": "IT-Kühlung",
                                    "7": "Hilfskühlung",
                                    "8": "Akuter Notfall / Anlagenausfall",
                                    "9": "Event Kühlung",
                                    "10": "Testläufe",
                                    "16": "Notfallplanung / Anlagenreservierung",
                                    "15": "Kalkulation / Ausschreibung / LV",
                                    "11": "Sonstiges",
                                    "17": "Datacenter Kühlung",
                                    "18": "Neuinstallation"
                                }
                            },
                            "18": {
                                "title": "Bedarfszeitpunkt",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Sofort",
                                    "2": "Innerhalb von 7 Tagen",
                                    "3": "Innerhalb von 30 Tagen",
                                    "4": "Innerhalb von 3 Monaten",
                                    "5": "In 3-12 Monate",
                                    "6": "Noch unklar"
                                }
                            },
                            "19": {
                                "title": "Kälteleistung",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7,
                                    8
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "< 10kW",
                                    "2": "10-50kW",
                                    "3": "51-100kW",
                                    "4": "101-200kW",
                                    "5": "201-500kW",
                                    "6": "501-1000kW",
                                    "7": "Größer 1000kW",
                                    "8": "Unbekannt"
                                }
                            },
                            "36": {
                                "title": "Kälteleistung (kW)",
                                "type": "string",
                                "maxLength": 500
                            },
                            "37": {
                                "title": "Mietdauer (Tage)",
                                "type": "string",
                                "maxLength": 500
                            },
                            "38": {
                                "title": "Aufstellzeitpunkt in Tagen",
                                "type": "string",
                                "maxLength": 500
                            },
                            "62": {
                                "title": "Privat_gewerblich",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Privat",
                                    "2": "Gewerblich",
                                    "3": "Weiß nicht",
                                    "4": "Heizungsbauer / SHK Betrieb",
                                    "5": "Planer / Ingenieur",
                                    "6": "Öffentliche Einrichtung"
                                }
                            },
                            "63": {
                                "title": "Mieten_Kaufen_Beides",
                                "type": "integer",
                                "enum": [
                                    4,
                                    5,
                                    3,
                                    1,
                                    2
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "4": "Kauf inkl. Rohr- & Anlagenbau",
                                    "5": "Nur Rohr- & Anlagenbau",
                                    "3": "Beide Angebote",
                                    "1": "Kaufen",
                                    "2": "Mieten"
                                }
                            },
                            "67": {
                                "title": "Standzeit",
                                "type": "integer",
                                "enum": [
                                    1,
                                    7,
                                    6,
                                    22,
                                    21,
                                    4,
                                    3,
                                    9,
                                    8
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Noch unklar",
                                    "7": "Dauerhaft",
                                    "6": "länger als 1 Jahr",
                                    "22": "7 - 12 Monate",
                                    "21": "3 - 6 Monate",
                                    "4": "1-3 Monate",
                                    "3": "2-4 Wochen",
                                    "9": "ca. 1 Woche",
                                    "8": "Weniger als 1 Woche"
                                }
                            },
                            "72": {
                                "title": "Temperaturniveau Vorlauf / Rücklauf",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "6 / 12 Grad Celsius",
                                    "2": "12 / 18 Grad Celsius",
                                    "3": "18 / 24 Grad Celsius",
                                    "4": "Individuelles Temperaturniveau",
                                    "5": "Unbekannt"
                                }
                            },
                            "73": {
                                "title": "Schlauchlänge (Mobile Kälte)",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "5 Meter",
                                    "2": "10 Meter",
                                    "3": "20 Meter",
                                    "4": "30 Meter",
                                    "5": "Kein Schlauch",
                                    "6": "Unbekannt / Andere"
                                }
                            },
                            "74": {
                                "title": "Druck / Wassermenge pro Stunde",
                                "type": "string",
                                "maxLength": 500
                            },
                            "75": {
                                "title": "Angebots- /Rechnungsadresse",
                                "type": "string",
                                "maxLength": 2000
                            },
                            "76": {
                                "title": "Kühlzelle, Kühlcontainer Auswahl",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    6,
                                    7
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Kühlzelle",
                                    "2": "Tiefkühlzelle",
                                    "3": "Kühlcontainer",
                                    "4": "Tiefkühlcontainer",
                                    "6": "Kühl- und Tiefkühlcontainer",
                                    "7": "Kühlhaus"
                                }
                            },
                            "77": {
                                "title": "Kühlraumgröße (m³)",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "bis 12,3m³ / 10 Fuß / 4 Paletten(3m*2,4m*2,5m)",
                                    "2": "bis 28,3 m³ / 20 Fuß / 10 Paletten(6m*2,4m*2,5m)",
                                    "3": "bis 67,5 m³ / 40 Fuß / 23 Paletten (12m*2,4m*2,5m)",
                                    "4": "mehrere Container"
                                }
                            },
                            "78": {
                                "title": "Temperatur Kühlzelle/Kühlcontainer",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "10 °C / -2 °C",
                                    "2": "25 °C / -25 °C",
                                    "3": "25 °C / -40 °C",
                                    "4": "-10 °C / -60 °C",
                                    "5": "-10 °C / -70 °C",
                                    "6": "Weiß nicht / Noch unklar"
                                }
                            },
                            "110": {
                                "title": "Art der Kälte Anlage",
                                "type": "integer",
                                "enum": [
                                    7,
                                    15,
                                    3,
                                    4,
                                    8,
                                    5,
                                    6,
                                    9,
                                    12,
                                    14,
                                    13,
                                    11,
                                    2,
                                    10,
                                    1,
                                    16,
                                    17
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "7": "Andere | Mehrere",
                                    "15": "Verdunstungskühler / Adiabate Kühlung",
                                    "3": "Kühlturm",
                                    "4": "Eisbahn",
                                    "8": "Direktverdampfer",
                                    "5": "Mobiles Split-Klimagerät",
                                    "6": "Mobile Klimaanlage",
                                    "9": "Freikühler | Tischkühler | Rückkühler | Trockenkühler",
                                    "12": "Ultratiefkühlschrank",
                                    "14": "CO2 (R744) Kaltwassersatz",
                                    "13": "Propan (R290) Kaltwassersatz",
                                    "11": "Ammoniak (NH3) Kälteanlage",
                                    "2": "Tieftemperatur Kaltwassersatz",
                                    "10": "Kaltwassersatz + Airhandler | Rooftop",
                                    "1": "Kaltwassersatz",
                                    "16": "Kältespeicher",
                                    "17": "Lüftungsanlage"
                                }
                            },
                            "245": {
                                "title": "Kaltwassersatz Anschlüsse",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Vorlauf, Rücklauf und Stromanschluss vorhanden",
                                    "2": "Vorlauf, Rücklauf ohne Stromanschluss",
                                    "3": "Keine Anschlüsse vorhanden",
                                    "4": "Weiß nicht / unklar"
                                }
                            },
                            "246": {
                                "title": "Anlieferung & Aufbau",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Selbst abholen",
                                    "2": "Nur Lieferung, Anschluss bauseits",
                                    "3": "Lieferung, Aufbau, Inbetriebnahme",
                                    "4": "Weiß nicht / Beratung erwünscht",
                                    "5": "Lieferung, Leitungsbau, Inbetriebnahme",
                                    "6": "Planung/Auslegung, Lieferung, Leitungsbau, Inbetriebnahme"
                                }
                            },
                            "299": {
                                "title": "Miete_Kauf inkl. Anlagenbau (Kälte)",
                                "type": "integer",
                                "enum": [
                                    4,
                                    5,
                                    3,
                                    1,
                                    2
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "4": "Kauf inkl. Rohr- & Anlagenbau",
                                    "5": "Nur Rohr- & Anlagenbau",
                                    "3": "Beide Angebote",
                                    "1": "Kaufen",
                                    "2": "Mieten"
                                }
                            },
                            "313": {
                                "title": "Art des Angebot",
                                "type": "integer",
                                "enum": [
                                    5,
                                    4,
                                    1,
                                    2,
                                    3,
                                    6
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "5": "Sonstiges / Anderes Angebot",
                                    "4": "Ausschreibung / LV - Angebot",
                                    "1": "Informationsgespräch",
                                    "2": "Budgetangebot",
                                    "3": "Detailangebot",
                                    "6": "Notfall / Expressangebot"
                                }
                            },
                            "327": {
                                "title": "Temperaturniveau Vorlauf",
                                "type": "string",
                                "maxLength": 500
                            },
                            "328": {
                                "title": "Temperaturniveau Rücklauf",
                                "type": "string",
                                "maxLength": 500
                            },
                            "392": {
                                "title": "Kältespeicher Volumen",
                                "type": "integer",
                                "enum": [
                                    2,
                                    3,
                                    4,
                                    5
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "2": "unter 1.000 Liter",
                                    "3": "1.001-10.000 Liter",
                                    "4": "über 10.000 Liter",
                                    "5": "Weiß nicht / unklar"
                                }
                            },
                            "393": {
                                "title": "Temperatur Kälteanlage",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "-15°C oder kälter",
                                    "2": "-14 bis+4°C",
                                    "3": "+4°C oder wärmer",
                                    "4": "Freikühlung mit Außenluft (größer 35 Grad)",
                                    "5": "Weiß nicht / unklar"
                                }
                            },
                            "394": {
                                "title": "Medium Kälteanlage",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3,
                                    4,
                                    5,
                                    6,
                                    7
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "Kaltwasser",
                                    "2": "Sole",
                                    "3": "Kaltluft",
                                    "4": "Kaltwasser und Kaltluft",
                                    "5": "gekühltes Kältemittel / Direktverdampfer",
                                    "6": "gekühltes Kältemittel / Tieftemperaturkaltwassersatz",
                                    "7": "Weiß nicht / unklar"
                                }
                            },
                            "395": {
                                "title": "Option Kältemittel",
                                "type": "integer",
                                "enum": [
                                    1,
                                    2,
                                    3
                                ],
                                "description": "Optionsliste — es wird die option_id übertragen.",
                                "x-options": {
                                    "1": "natürliches Kältemittel",
                                    "2": "klassisches Kältemittel",
                                    "3": "weiß nicht / möglichst günstig"
                                }
                            }
                        }
                    }
                }
            },
            "Fehler": {
                "type": "object",
                "properties": {
                    "status": {
                        "type": "string",
                        "enum": [
                            "error"
                        ]
                    },
                    "message": {
                        "type": "string",
                        "description": "Allgemein verständliche Fehlermeldung."
                    },
                    "error": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Nur bei 422: betroffene Felder."
                    },
                    "allowed_option_ids": {
                        "type": "object",
                        "description": "Nur bei ungültigen Optionslisten: erlaubte option_id-Werte je Feld-ID.",
                        "additionalProperties": {
                            "type": "array",
                            "items": {
                                "type": "integer"
                            }
                        }
                    }
                }
            }
        }
    }
}