import * as z from "zod" import { Ausstellgrund, AusweisTyp } from "@prisma/client" export const VerbrauchsausweisGewerbeSchema = z.object({ id: z.string(), ausstellgrund: z.nativeEnum(Ausstellgrund).nullish(), registriernummer: z.string().nullish(), zusaetzliche_heizquelle: z.boolean().nullish(), einheit_1: z.string().nullish(), einheit_2: z.string().nullish(), startdatum: z.date().nullish(), verbrauch_1: z.number().int().nullish(), verbrauch_2: z.number().int().nullish(), verbrauch_3: z.number().int().nullish(), verbrauch_4: z.number().int().nullish(), verbrauch_5: z.number().int().nullish(), verbrauch_6: z.number().int().nullish(), brennstoff_1: z.string().describe("Genutzer Brennstoff der primären Energiequelle").nullish(), brennstoff_2: z.string().describe("Genutzer Brennstoff der sekundären Energiequelle").nullish(), energieeffizienzklasse: z.string().describe("Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes").nullish(), ausstellungsdatum: z.date().describe("Datum an dem der Aussteller den Ausweis ausgestellt hat").nullish(), boxpruefung: z.boolean().nullish(), strom_1: z.number().int().nullish(), strom_2: z.number().int().nullish(), strom_3: z.number().int().nullish(), stromverbrauch_enthaelt_heizung: z.boolean().nullish(), stromverbrauch_enthaelt_warmwasser: z.boolean().nullish(), stromverbrauch_enthaelt_lueftung: z.boolean().nullish(), stromverbrauch_enthaelt_beleuchtung: z.boolean().nullish(), stromverbrauch_enthaelt_kuehlung: z.boolean().nullish(), stromverbrauch_enthaelt_sonstige: z.string().nullish(), kuehlung_enthalten: z.boolean().nullish(), anteil_kuehlung_1: z.number().nullish(), anteil_kuehlung_2: z.number().nullish(), keller_beheizt: z.boolean().nullish(), alternative_heizung: z.boolean().nullish(), alternative_warmwasser: z.boolean().nullish(), alternative_lueftung: z.boolean().nullish(), alternative_kuehlung: z.boolean().nullish(), warmwasser_enthalten: z.boolean().nullish(), warmwasser_anteil_bekannt: z.boolean().describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen").nullish(), anteil_warmwasser_1: z.number().nullish(), anteil_warmwasser_2: z.number().nullish(), ausgestellt: z.boolean().nullish(), storniert: z.boolean().describe("Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen").nullish(), bestellt: z.boolean().describe("Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen").nullish(), zurueckgestellt: z.boolean().describe("Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen").nullish(), prueftext: z.string().describe("Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung").nullish(), beschreibung: z.string().nullish(), kontrolldatei_angefragt: z.boolean().describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde").nullish(), created_at: z.date(), updated_at: z.date(), ausweistyp: z.nativeEnum(AusweisTyp), benutzer_id: z.string().nullish(), rechnung_id: z.string().nullish(), aufnahme_id: z.string().describe("ID der korrespondierenden Gebäudeaufnahme"), })