Energieausweis Express
Prepare a German Energieausweis (energy certificate); an Energieberater checks and signs it.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"energieausweis": {
"url": "https://energieausweis-express.de/mcp"
}
}
}Puntos de conexión remotos
https://energieausweis-express.de/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (11)
🟡add_document(order_id, order_token, kind, filename, content_base64)
Uploads a file to a draft order: an energy bill or Heizkostenabrechnung (rechnung) or a photo (street side, heating, type plate). JPG, PNG, WebP or PDF as base64, at most 10 MB, 20 files per order. Bills are read and compared with the entered consumption after the customer has ordered; the Energieberater checks the photos. Usually the customer takes the photos on our page after the confirmation email. Orders nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
},
"kind": {
"type": "string",
"description": "rechnung (energy bill or Heizkostenabrechnung), fassade_strasse (photo of the street side), fassade_garten, heizung (photo of the boiler or heat pump), typenschild (photo of its type plate) or sonstiges"
},
"filename": {
"type": "string",
"description": "the file's name, for your reference"
},
"content_base64": {
"type": "string",
"description": "the file, base64-encoded: JPG, PNG, WebP or PDF, at most 10 MB"
}
},
"required": [
"order_id",
"order_token",
"kind",
"content_base64"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"document_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"mime": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"check": {
"type": "string"
}
},
"required": [
"document_id",
"kind",
"mime",
"size_bytes"
],
"additionalProperties": false
}🟡answer_inquiry(order_id, order_token, values, explanation, documents)
Answers the open question (Rückfrage) about an ordered certificate with the customer's answers: values keyed by the item keys get_status listed, files the question asks for, and an explanation. Ask the customer first and send only what they confirmed.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
},
"values": {
"type": "object",
"description": "the answers, keyed by the item keys get_status listed; numbers with a point, e.g. 2004 or 140.5; dates as YYYY-MM-DD, months as YYYY-MM; a multiselect's option values comma-separated, keine for none; ja or nein",
"additionalProperties": {
"type": "string"
}
},
"explanation": {
"type": "string",
"description": "what the customer wants to add or explain, e.g. why a value can't be given; in German"
},
"documents": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"item": {
"type": "string",
"description": "the key of the upload item the file answers, as get_status lists it, e.g. consumption.missing; needed where several items ask for the same kind of file"
},
"kind": {
"type": "string",
"description": "rechnung (energy bill or Heizkostenabrechnung), fassade_strasse (photo of the street side), fassade_garten, heizung (photo of the boiler or heat pump), typenschild (photo of its type plate) or sonstiges"
},
"filename": {
"type": "string",
"description": "the file's name, for your reference"
},
"content_base64": {
"type": "string",
"description": "the file, base64-encoded: JPG, PNG, WebP or PDF, at most 10 MB"
}
},
"required": [
"kind",
"content_base64"
],
"additionalProperties": false
},
"description": "files the upload items ask for, each with the item it answers"
}
},
"required": [
"order_id",
"order_token"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"order_number": {
"type": "string"
},
"status": {
"type": "string"
},
"status_text": {
"type": "string"
},
"ordered": {
"type": "boolean"
},
"delivery": {
"type": "string"
},
"open_inquiry": {
"type": [
"null",
"object"
],
"properties": {
"asked_by": {
"type": "string",
"description": "energieberater or automatische_pruefung"
},
"message": {
"type": "string"
},
"items": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"kind": {
"type": "string",
"description": "number, select or upload"
},
"label": {
"type": "string"
},
"reason": {
"type": "string"
},
"unit": {
"type": "string"
},
"current": {
"type": "string"
},
"options": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"value",
"label"
],
"additionalProperties": false
}
},
"upload_kind": {
"type": "string"
},
"hint": {
"type": "string"
}
},
"required": [
"key",
"kind",
"label"
],
"additionalProperties": false
}
},
"next_step": {
"type": "string"
}
},
"required": [
"asked_by",
"items",
"next_step"
],
"additionalProperties": false
},
"certificate_ready": {
"type": "boolean"
}
},
"required": [
"order_number",
"status",
"status_text",
"ordered",
"certificate_ready"
],
"additionalProperties": false
}🟢check_eligibility(year_built, units, residential_only, modernised, purpose)
Checks whether Energieausweis Express can issue a Verbrauchsausweis (consumption-based energy certificate) for a residential building in Germany, before any order exists. Returns yes or no with the reason in German (including the rule for houses with a Bauantrag before 1 November 1977 and the change on 1 January 2027), the all-inclusive price, the delivery time and what is needed. Changes nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"year_built": {
"type": "integer",
"description": "year the building was built (Baujahr), if known"
},
"units": {
"type": "integer",
"description": "number of flats (Wohnungen) in the whole building, if known"
},
"residential_only": {
"type": [
"null",
"boolean"
],
"description": "true if the building is used for housing only; false if it also has shops, offices or practices"
},
"modernised": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "parts of the envelope renewed since construction: dach (roof or top floor ceiling insulated), aussenwand, fenster, kellerdecke"
},
"purpose": {
"type": "string",
"description": "what the certificate is for: verkauf (sale), vermietung (letting), verlaengerung (lease extension), aushang (display or own records)"
}
},
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"verbrauchsausweis_possible": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"note": {
"type": "string"
},
"price_cents": {
"type": "integer"
},
"price": {
"type": "string"
},
"delivery": {
"type": "string"
},
"includes": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"needed": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
}
},
"required": [
"verbrauchsausweis_possible",
"reason",
"price_cents",
"price",
"delivery",
"includes",
"needed"
],
"additionalProperties": false
}🟢find_building(address)
Finds the building at a German address in our 3D building data. Returns the building at the address first, then nearby buildings, each with a building_ref for start_order and a short German description (type, storeys, footprint). If several addresses match, returns them instead: ask the user which one is meant. Where the address may be one of several buildings (semi-detached or terraced houses, several buildings on one plot), ask the user which is theirs. Changes nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"address": {
"type": "string",
"description": "street, house number, postcode and city, e.g. 'Buschkamp 12, 48161 Münster'"
}
},
"required": [
"address"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"address": {
"type": "string"
},
"buildings": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"building_ref": {
"type": "string",
"description": "pass this to start_order as it is"
},
"at_address": {
"type": "boolean"
},
"address": {
"type": "string"
},
"position": {
"type": "string"
},
"type": {
"type": "string"
},
"footprint_m2": {
"type": "number"
},
"use": {
"type": "string"
}
},
"required": [
"building_ref",
"at_address",
"position",
"type",
"footprint_m2"
],
"additionalProperties": false
}
},
"addresses": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"next_step": {
"type": "string"
}
},
"required": [
"next_step"
],
"additionalProperties": false
}🟢get_certificate(order_id, order_token)
Returns download links for the issued certificate and its invoice (PDF). The links work for one hour and open nothing else, so they can be shown to the user; call again for fresh ones. The customer also got both by email. Changes nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
}
},
"required": [
"order_id",
"order_token"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"certificate_url": {
"type": "string"
},
"invoice_url": {
"type": "string"
},
"links_valid_until": {
"type": "string"
},
"registration_number": {
"type": "string"
},
"valid_until": {
"type": "string"
}
},
"required": [
"certificate_url",
"links_valid_until"
],
"additionalProperties": false
}🟢get_listing_facts(order_id, order_token)
Returns what a property listing must state about the energy certificate (§ 87 GEG): type of certificate, Endenergieverbrauch, main energy carrier of the heating, year built and Effizienzklasse, as ready-to-paste German text. Only once the certificate is issued. Changes nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
}
},
"required": [
"order_id",
"order_token"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"certificate_type": {
"type": "string"
},
"final_energy": {
"type": "string"
},
"energy_carriers": {
"type": "string"
},
"year_built": {
"type": "string"
},
"efficiency_class": {
"type": "string"
},
"valid_until": {
"type": "string"
},
"registration_number": {
"type": "string"
},
"text": {
"type": "string",
"description": "the mandatory facts, one per line, ready to paste into the listing"
},
"one_line": {
"type": "string",
"description": "the same in one line, for listing portals"
}
},
"required": [
"certificate_type",
"final_energy",
"energy_carriers",
"year_built",
"efficiency_class",
"valid_until",
"registration_number",
"text",
"one_line"
],
"additionalProperties": false
}🟢get_status(order_id, order_token)
Shows where the order stands, in plain German words: prepared, ordered, being checked by the Energieberater, waiting for an answer to a Rückfrage (with its questions), issued. Changes nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
}
},
"required": [
"order_id",
"order_token"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"order_number": {
"type": "string"
},
"status": {
"type": "string"
},
"status_text": {
"type": "string"
},
"ordered": {
"type": "boolean"
},
"delivery": {
"type": "string"
},
"open_inquiry": {
"type": [
"null",
"object"
],
"properties": {
"asked_by": {
"type": "string",
"description": "energieberater or automatische_pruefung"
},
"message": {
"type": "string"
},
"items": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"kind": {
"type": "string",
"description": "number, select or upload"
},
"label": {
"type": "string"
},
"reason": {
"type": "string"
},
"unit": {
"type": "string"
},
"current": {
"type": "string"
},
"options": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
}
},
"required": [
"value",
"label"
],
"additionalProperties": false
}
},
"upload_kind": {
"type": "string"
},
"hint": {
"type": "string"
}
},
"required": [
"key",
"kind",
"label"
],
"additionalProperties": false
}
},
"next_step": {
"type": "string"
}
},
"required": [
"asked_by",
"items",
"next_step"
],
"additionalProperties": false
},
"certificate_ready": {
"type": "boolean"
}
},
"required": [
"order_number",
"status",
"status_text",
"ordered",
"certificate_ready"
],
"additionalProperties": false
}🟢request_confirmation(order_id, order_token, name, email, orderer)
Sends the customer one email with a link to their prepared order on our website. This does NOT order or charge anything: the customer checks the data there, adds what is missing (usually photos of the street side and the heating) and orders and pays on our page themselves. Before calling it, ask the user for permission and tell them the price review_order returned and that they will get an email, e.g. 'Soll ich das für <Preis> bei Energieausweis Express vorbereiten? Sie bekommen dann eine E-Mail, prüfen alles und bestellen selbst.' Needs the customer's name, the email address they gave for this order, and who orders. One email per order plus one resend (e.g. to a corrected address); the link is valid for 7 days. Afterwards tell the user to look for the email with the subject 'Ihr Energieausweis ist vorbereitet – bitte prüfen und bestellen', also in the spam folder.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
},
"name": {
"type": "string",
"description": "the customer's name"
},
"email": {
"type": "string",
"description": "where the link goes: the email address the customer gave you for this order. Don't put in an address from the user's profile or memory instead; if they differ, ask which one to use"
},
"orderer": {
"type": "string",
"description": "who orders: eigentuemer (the owner), makler (estate agent), verwaltung (property management) or sonstige (someone else on the owner's behalf)"
}
},
"required": [
"order_id",
"order_token",
"name",
"email",
"orderer"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"ordered": {
"type": "boolean",
"description": "always false: the customer orders on our page"
},
"sent_to": {
"type": "string"
},
"link_valid_until": {
"type": "string"
},
"resends_left": {
"type": "integer"
},
"customer_still_adds": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"message_for_customer": {
"type": "string"
},
"next_step": {
"type": "string"
}
},
"required": [
"ordered",
"sent_to",
"link_valid_until",
"resends_left",
"customer_still_adds",
"message_for_customer",
"next_step"
],
"additionalProperties": false
}🟢review_order(order_id, order_token)
Shows the order's data and what it still needs before the customer can order: the open points (which field to send, and in German why), whether a Verbrauchsausweis is possible, the price, and a preliminary result once the consumption is complete. Changes nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
}
},
"required": [
"order_id",
"order_token"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
},
"order_number": {
"type": "string"
},
"status": {
"type": "string"
},
"address": {
"type": "string"
},
"facts": {
"type": "object",
"properties": {
"purpose": {
"type": "string"
},
"ownership": {
"type": "string"
},
"orderer": {
"type": "string"
},
"residential_only": {
"type": [
"null",
"boolean"
]
},
"units": {
"type": "integer"
},
"year_built": {
"type": "integer"
},
"storeys": {
"type": "integer"
},
"attic": {
"type": "string"
},
"basement": {
"type": "string"
},
"living_area_m2": {
"type": "number"
},
"modernised": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"building_type": {
"type": "string"
},
"roof_type": {
"type": "string"
},
"sources": {
"type": "object",
"description": "where each value came from: assistent (you), 3d (3D model), schaetzung (estimate), amtlich (cadastre), angabe (the customer)",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"sources"
],
"additionalProperties": false
},
"heating": {
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"year": {
"type": "integer"
},
"hot_water": {
"type": "string"
},
"hot_water_by": {
"type": "string"
},
"ventilation": {
"type": "string"
},
"cooling": {
"type": "string"
},
"cooled_area_m2": {
"type": "number"
},
"renewables": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"district_heating": {
"type": [
"null",
"object"
],
"properties": {
"supplier": {
"type": "string",
"description": "the Fernwärme supplier, e.g. Stadtwerke Münster"
},
"generation": {
"type": "string",
"description": "how the heat is made, as the supplier states: kwk_gas, kwk_kohle, kwk_erneuerbar (combined heat and power) or heizwerk_gas, heizwerk_kohle, heizwerk_erneuerbar (heating plant)"
},
"primary_factor": {
"type": [
"null",
"number"
],
"description": "the Primärenergiefaktor the supplier publishes, if known"
}
},
"additionalProperties": false
},
"sources": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"sources"
],
"additionalProperties": false
},
"consumption": {
"type": "object",
"properties": {
"periods": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
},
"carrier": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit": {
"type": "string"
},
"kwh_is_gross": {
"type": "boolean"
},
"hot_water_kwh": {
"type": [
"null",
"number"
]
}
},
"required": [
"start",
"end",
"carrier",
"quantity",
"unit"
],
"additionalProperties": false
}
},
"vacancy_percent": {
"type": "number"
}
},
"required": [
"periods",
"vacancy_percent"
],
"additionalProperties": false
},
"documents": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"document_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"mime": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"check": {
"type": "string"
}
},
"required": [
"document_id",
"kind",
"mime",
"size_bytes"
],
"additionalProperties": false
}
}
},
"required": [
"order_id",
"order_number",
"status",
"address",
"facts",
"heating",
"consumption",
"documents"
],
"additionalProperties": false
},
"verbrauchsausweis_possible": {
"type": "boolean"
},
"reason": {
"type": "string"
},
"note": {
"type": "string"
},
"price_cents": {
"type": "integer"
},
"price": {
"type": "string"
},
"delivery": {
"type": "string"
},
"open_points": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "what to send, as the tools name it"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
},
"customer_can_add": {
"type": "boolean",
"description": "true if the customer can add it on our page after the confirmation email"
}
},
"required": [
"field",
"title",
"customer_can_add"
],
"additionalProperties": false
}
},
"hints": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "what looks odd without blocking, in German; check the values with the user"
},
"preliminary_result": {
"type": [
"null",
"object"
],
"properties": {
"final_energy_kwh_per_m2_year": {
"type": "number"
},
"efficiency_class": {
"type": "string"
},
"note": {
"type": "string"
}
},
"required": [
"final_energy_kwh_per_m2_year",
"efficiency_class",
"note"
],
"additionalProperties": false
},
"ready_for_confirmation": {
"type": "boolean"
},
"next_step": {
"type": "string"
}
},
"required": [
"order",
"verbrauchsausweis_possible",
"reason",
"price_cents",
"price",
"delivery",
"open_points",
"ready_for_confirmation",
"next_step"
],
"additionalProperties": false
}🟢start_order(building_ref)
Starts a draft order for the building the user confirmed (building_ref from find_building). Orders and charges nothing. Returns order_id and order_token, which every later tool needs; the token opens only this order, so keep it private and never show it to anyone. Also returns what our 3D building model and the cadastre already say about the building (estimates the customer can correct) and the open points.
Esquema de entrada
{
"type": "object",
"properties": {
"building_ref": {
"type": "string",
"description": "the building_ref find_building returned for the building the user confirmed"
}
},
"required": [
"building_ref"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"order_id": {
"type": "string"
},
"order_token": {
"type": "string",
"description": "opens only this order; keep it private"
},
"order_number": {
"type": "string"
},
"order": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
},
"order_number": {
"type": "string"
},
"status": {
"type": "string"
},
"address": {
"type": "string"
},
"facts": {
"type": "object",
"properties": {
"purpose": {
"type": "string"
},
"ownership": {
"type": "string"
},
"orderer": {
"type": "string"
},
"residential_only": {
"type": [
"null",
"boolean"
]
},
"units": {
"type": "integer"
},
"year_built": {
"type": "integer"
},
"storeys": {
"type": "integer"
},
"attic": {
"type": "string"
},
"basement": {
"type": "string"
},
"living_area_m2": {
"type": "number"
},
"modernised": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"building_type": {
"type": "string"
},
"roof_type": {
"type": "string"
},
"sources": {
"type": "object",
"description": "where each value came from: assistent (you), 3d (3D model), schaetzung (estimate), amtlich (cadastre), angabe (the customer)",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"sources"
],
"additionalProperties": false
},
"heating": {
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"year": {
"type": "integer"
},
"hot_water": {
"type": "string"
},
"hot_water_by": {
"type": "string"
},
"ventilation": {
"type": "string"
},
"cooling": {
"type": "string"
},
"cooled_area_m2": {
"type": "number"
},
"renewables": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"district_heating": {
"type": [
"null",
"object"
],
"properties": {
"supplier": {
"type": "string",
"description": "the Fernwärme supplier, e.g. Stadtwerke Münster"
},
"generation": {
"type": "string",
"description": "how the heat is made, as the supplier states: kwk_gas, kwk_kohle, kwk_erneuerbar (combined heat and power) or heizwerk_gas, heizwerk_kohle, heizwerk_erneuerbar (heating plant)"
},
"primary_factor": {
"type": [
"null",
"number"
],
"description": "the Primärenergiefaktor the supplier publishes, if known"
}
},
"additionalProperties": false
},
"sources": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"sources"
],
"additionalProperties": false
},
"consumption": {
"type": "object",
"properties": {
"periods": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
},
"carrier": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit": {
"type": "string"
},
"kwh_is_gross": {
"type": "boolean"
},
"hot_water_kwh": {
"type": [
"null",
"number"
]
}
},
"required": [
"start",
"end",
"carrier",
"quantity",
"unit"
],
"additionalProperties": false
}
},
"vacancy_percent": {
"type": "number"
}
},
"required": [
"periods",
"vacancy_percent"
],
"additionalProperties": false
},
"documents": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"document_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"mime": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"check": {
"type": "string"
}
},
"required": [
"document_id",
"kind",
"mime",
"size_bytes"
],
"additionalProperties": false
}
}
},
"required": [
"order_id",
"order_number",
"status",
"address",
"facts",
"heating",
"consumption",
"documents"
],
"additionalProperties": false
},
"open_points": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "what to send, as the tools name it"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
},
"customer_can_add": {
"type": "boolean",
"description": "true if the customer can add it on our page after the confirmation email"
}
},
"required": [
"field",
"title",
"customer_can_add"
],
"additionalProperties": false
}
},
"next_step": {
"type": "string"
}
},
"required": [
"order_id",
"order_token",
"order_number",
"order",
"open_points",
"next_step"
],
"additionalProperties": false
}🟡update_order(order_id, order_token, facts, heating, consumption)
Enters or corrects data of a draft order: facts about the building, the heating, and the consumption periods as printed on the bills, in the bill's unit (kWh; m3 of gas, with the bill's Brennwert and Zustandszahl; litres of oil; kg of pellets; we convert). The consumption is always the whole building's, also when the customer owns one flat: from a Heizkostenabrechnung take the Gesamtverbrauch der Liegenschaft, never the customer's own share. Send only what you know: fields left out stay as they are, and consumption.periods replaces all periods. Synonyms such as 'Gas' or 'heat pump' are accepted. Values are marked as entered by an assistant; the customer sees and confirms them before ordering. Returns the order as it is now and the open points. Orders nothing.
Esquema de entrada
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "the order_id start_order returned"
},
"order_token": {
"type": "string",
"description": "the order_token start_order returned; it opens only this order, keep it private"
},
"facts": {
"type": [
"null",
"object"
],
"properties": {
"purpose": {
"type": "string",
"description": "verkauf (sale), vermietung (letting), verlaengerung (lease extension) or aushang (display or own records)"
},
"ownership": {
"type": "string",
"description": "gebaeude if the customer owns the whole building, wohnung if one flat in it; the certificate always covers the whole building"
},
"residential_only": {
"type": [
"null",
"boolean"
],
"description": "true if the building is used for housing only"
},
"units": {
"type": "integer",
"description": "number of flats in the whole building"
},
"year_built": {
"type": "integer",
"description": "year the building was built"
},
"storeys": {
"type": "integer",
"description": "full storeys (Vollgeschosse), without attic and basement"
},
"attic": {
"type": "string",
"description": "beheizt (lived in, heated), unbeheizt (unheated loft) or keins (none, e.g. flat roof)"
},
"basement": {
"type": "string",
"description": "keiner, unbeheizt or beheizt"
},
"living_area_m2": {
"type": "number",
"description": "Wohnfläche of the whole building in m², all flats together"
},
"modernised": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "envelope parts renewed since construction: dach, aussenwand, fenster, kellerdecke; replaces the list"
}
},
"additionalProperties": false
},
"heating": {
"type": [
"null",
"object"
],
"properties": {
"carrier": {
"type": "string",
"description": "main energy carrier of the heating: erdgas, fluessiggas, heizoel, fernwaerme, holzpellets, scheitholz, hackschnitzel, strom_waermepumpe, strom_direkt, steinkohle or braunkohle"
},
"year": {
"type": "integer",
"description": "Baujahr of the boiler or heat pump (with Fernwärme: of the transfer station), from the type plate or the chimney sweep's record"
},
"hot_water": {
"type": "string",
"description": "zentral_enthalten (made by the heating, in its consumption, share unknown), zentral_gemessen (made by the heating, and the bill states the hot water share: send it as hot_water_kwh with each period) or dezentral (electric boilers or instantaneous heaters, not in the consumption)"
},
"hot_water_by": {
"type": "string",
"description": "with hot_water zentral_enthalten and periods of several carriers: the carrier whose system heats the water, or gemeinsam when several heat it together (e.g. a wood stove with a water jacket and a heat pump on one tank). A room stove without a water jacket heats no water. Leave it out if unknown: the hot water is then split by consumption"
},
"ventilation": {
"type": "string",
"description": "fenster (windows), anlage (ventilation system) or anlage_wrg (with heat recovery)"
},
"cooling": {
"type": "string",
"description": "keine, or strom for electric air conditioning"
},
"cooled_area_m2": {
"type": "number",
"description": "living area cooled by air conditioning, in m²"
},
"renewables": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "solarthermie, photovoltaik, biomasse (wood stove); replaces the list. A heat pump or wood heating counts on its own"
},
"district_heating": {
"type": [
"null",
"object"
],
"properties": {
"supplier": {
"type": "string",
"description": "the Fernwärme supplier, e.g. Stadtwerke Münster"
},
"generation": {
"type": "string",
"description": "how the heat is made, as the supplier states: kwk_gas, kwk_kohle, kwk_erneuerbar (combined heat and power) or heizwerk_gas, heizwerk_kohle, heizwerk_erneuerbar (heating plant)"
},
"primary_factor": {
"type": [
"null",
"number"
],
"description": "the Primärenergiefaktor the supplier publishes, if known"
}
},
"description": "with Fernwärme: how it is generated",
"additionalProperties": false
}
},
"additionalProperties": false
},
"consumption": {
"type": [
"null",
"object"
],
"properties": {
"periods": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"start": {
"type": "string",
"description": "first day of the billing period, YYYY-MM-DD"
},
"end": {
"type": "string",
"description": "last day of the billing period (inclusive), YYYY-MM-DD"
},
"carrier": {
"type": "string",
"description": "energy carrier billed, e.g. erdgas, heizoel, fernwaerme, holzpellets, strom_waermepumpe"
},
"quantity": {
"type": "number",
"description": "consumption for heating and hot water in the period, as printed on the bill, as a plain number: German bills group thousands with a point, so 18.451 kWh is 18451"
},
"unit": {
"type": "string",
"description": "unit as printed: kWh, MWh, m3, l, kg, t, rm (Raummeter) or srm"
},
"kwh_is_gross": {
"type": [
"null",
"boolean"
],
"description": "for kWh of gas: true if the bill states kWh by the Brennwert (gas bills usually do; default true for gas)"
},
"calorific_value": {
"type": "number",
"description": "gas billed in m3 only: the Abrechnungsbrennwert (Hs) in kWh/m3 as printed; send it together with condition_factor"
},
"condition_factor": {
"type": "number",
"description": "gas billed in m3 only: the Zustandszahl as printed; send it together with calorific_value"
},
"hot_water_kwh": {
"type": [
"null",
"number"
],
"description": "only if the bill states the energy for hot water separately, in kWh"
},
"evidence": {
"type": "string",
"description": "the text you read this period from on the bill, verbatim, for the Energieberater"
}
},
"required": [
"start",
"end",
"carrier",
"quantity",
"unit"
],
"additionalProperties": false
},
"description": "the billing periods of the whole building, one per period on the bill; from a Heizkostenabrechnung the Gesamtverbrauch der Liegenschaft, never one flat's share; replaces all periods"
},
"vacancy_percent": {
"type": [
"null",
"number"
],
"description": "share of the living area that stood empty in the periods, in percent"
}
},
"additionalProperties": false
}
},
"required": [
"order_id",
"order_token"
],
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"order": {
"type": "object",
"properties": {
"order_id": {
"type": "string"
},
"order_number": {
"type": "string"
},
"status": {
"type": "string"
},
"address": {
"type": "string"
},
"facts": {
"type": "object",
"properties": {
"purpose": {
"type": "string"
},
"ownership": {
"type": "string"
},
"orderer": {
"type": "string"
},
"residential_only": {
"type": [
"null",
"boolean"
]
},
"units": {
"type": "integer"
},
"year_built": {
"type": "integer"
},
"storeys": {
"type": "integer"
},
"attic": {
"type": "string"
},
"basement": {
"type": "string"
},
"living_area_m2": {
"type": "number"
},
"modernised": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"building_type": {
"type": "string"
},
"roof_type": {
"type": "string"
},
"sources": {
"type": "object",
"description": "where each value came from: assistent (you), 3d (3D model), schaetzung (estimate), amtlich (cadastre), angabe (the customer)",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"sources"
],
"additionalProperties": false
},
"heating": {
"type": "object",
"properties": {
"carrier": {
"type": "string"
},
"year": {
"type": "integer"
},
"hot_water": {
"type": "string"
},
"hot_water_by": {
"type": "string"
},
"ventilation": {
"type": "string"
},
"cooling": {
"type": "string"
},
"cooled_area_m2": {
"type": "number"
},
"renewables": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
}
},
"district_heating": {
"type": [
"null",
"object"
],
"properties": {
"supplier": {
"type": "string",
"description": "the Fernwärme supplier, e.g. Stadtwerke Münster"
},
"generation": {
"type": "string",
"description": "how the heat is made, as the supplier states: kwk_gas, kwk_kohle, kwk_erneuerbar (combined heat and power) or heizwerk_gas, heizwerk_kohle, heizwerk_erneuerbar (heating plant)"
},
"primary_factor": {
"type": [
"null",
"number"
],
"description": "the Primärenergiefaktor the supplier publishes, if known"
}
},
"additionalProperties": false
},
"sources": {
"type": "object",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"sources"
],
"additionalProperties": false
},
"consumption": {
"type": "object",
"properties": {
"periods": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"start": {
"type": "string"
},
"end": {
"type": "string"
},
"carrier": {
"type": "string"
},
"quantity": {
"type": "number"
},
"unit": {
"type": "string"
},
"kwh_is_gross": {
"type": "boolean"
},
"hot_water_kwh": {
"type": [
"null",
"number"
]
}
},
"required": [
"start",
"end",
"carrier",
"quantity",
"unit"
],
"additionalProperties": false
}
},
"vacancy_percent": {
"type": "number"
}
},
"required": [
"periods",
"vacancy_percent"
],
"additionalProperties": false
},
"documents": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"document_id": {
"type": "string"
},
"kind": {
"type": "string"
},
"mime": {
"type": "string"
},
"size_bytes": {
"type": "integer"
},
"check": {
"type": "string"
}
},
"required": [
"document_id",
"kind",
"mime",
"size_bytes"
],
"additionalProperties": false
}
}
},
"required": [
"order_id",
"order_number",
"status",
"address",
"facts",
"heating",
"consumption",
"documents"
],
"additionalProperties": false
},
"open_points": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"field": {
"type": "string",
"description": "what to send, as the tools name it"
},
"title": {
"type": "string"
},
"detail": {
"type": "string"
},
"customer_can_add": {
"type": "boolean",
"description": "true if the customer can add it on our page after the confirmation email"
}
},
"required": [
"field",
"title",
"customer_can_add"
],
"additionalProperties": false
}
},
"hints": {
"type": [
"null",
"array"
],
"items": {
"type": "string"
},
"description": "what looks odd without blocking, in German; check the values with the user"
}
},
"required": [
"order",
"open_points"
],
"additionalProperties": false
}Comunidad
Evidencia