
model VerbrauchsausweisWohnen {
  id                        Int            @id @default(autoincrement())
	/// @zod.describe("UID des Ausweises")
  uid                       String         @unique @default(dbgenerated("'vaw-' || gen_random_uuid()"))
	/// @zod.describe("Die ID des Benutzers, welchem dieser Ausweis gehört")
  benutzer_id               Int?
	/// @zod.describe("Ausstellgrund wie z.B. Vermietung oder Verkauf")
  ausstellgrund             Ausstellgrund?
	/// @zod.describe("Die Registriernummer des Ausweises")
  registriernummer          String?        @db.VarChar
	/// @zod.describe("Falls eine sekundäre Heizquelle existiert, sollte dieser Wert auf true stehen")
  zusaetzliche_heizquelle   Boolean?
	/// @zod.describe("Einheit des Energieträgers der primären Heizquelle")
  einheit_1                 String?        @db.VarChar(50)
	/// @zod.describe("Einheit des Energieträgers der sekundären Heizquelle")
  einheit_2                 String?        @db.VarChar(50)
  startdatum                DateTime?      @db.Timestamptz(6)
	/// @zod.describe("Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre")
  verbrauch_1               Int?
	/// @zod.describe("Energieverbrauch der primären Heizquelle im zweiten der drei Verbrauchsjahre")
  verbrauch_2               Int?
	/// @zod.describe("Energieverbrauch der primären Heizquelle im letzten der drei Verbrauchsjahre")
  verbrauch_3               Int?
	/// @zod.describe("Energieverbrauch der sekund̈́ären Heizquelle im ersten der drei Verbrauchsjahre")
  verbrauch_4               Int?
	/// @zod.describe("Energieverbrauch der sekund̈́ären Heizquelle im zweiten der drei Verbrauchsjahre")
  verbrauch_5               Int?
	/// @zod.describe("Energieverbrauch der sekund̈́ären Heizquelle im letzten der drei Verbrauchsjahre")
  verbrauch_6               Int?
  /// @zod.describe("Falls Warmwasser im Verbrauchswert enthalten ist, sollte dieser Wert auf true stehen")
  warmwasser_enthalten      Boolean?
  /// @zod.describe("Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen")
  warmwasser_anteil_bekannt Boolean?
  /// @zod.describe("Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen")
  keller_beheizt            Boolean?
  /// @zod.describe("Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist.")
  faktorKeller              Float?

  /// @zod.describe("Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet, sollte dieser Wert auf true stehen.")
  alternative_heizung    Boolean?
  /// @zod.describe("Falls der Warmwasserverbrauch alternative Energieversorgungssysteme (z.B. Solarsystem, Wärmepumpe, etc.) beinhaltet, sollte dieser Wert auf true stehen.")
  alternative_warmwasser Boolean?
  /// @zod.describe("Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen.")
  alternative_lueftung   Boolean?
  /// @zod.describe("Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen.")
  alternative_kuehlung   Boolean?

	/// @zod.describe("Anteil des Warmwassers am Gesamtverbrauch der primären Energiequelle in Prozent")
  anteil_warmwasser_1 Float?
	/// @zod.describe("Anteil des Warmwassers am Gesamtverbrauch der sekundären Energiequelle in Prozent")
  anteil_warmwasser_2 Float?

	ausgestellt Boolean? @default(false)
	/// @zod.describe("Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen")
	storniert Boolean? @default(false)
	/// @zod.describe("Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen")
	bestellt					Boolean?  @default(false)
	/// @zod.describe("Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen")
	zurueckgestellt Boolean?  @default(false)
	/// @zod.describe("Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung")
	prueftext String? @db.VarChar(1000)

	beschreibung String? @db.Text

	/// @zod.describe("Ob bei der Anfrage der Registriernummer eine Kontrolldatei angefragt wurde")
	kontrolldatei_angefragt Boolean? @default(false)

  benutzer                    Benutzer?                  @relation(fields: [benutzer_id], references: [id], onDelete: NoAction, onUpdate: NoAction)

	rechnung_id Int? @unique
	rechnung Rechnung? @relation(fields: [rechnung_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
	
	/// @zod.describe("ID der korrespondierenden Gebäudeaufnahme")
	aufnahme_id        Int @unique
  aufnahme           Aufnahme @relation(fields: [aufnahme_id], references: [id], onDelete: NoAction, onUpdate: NoAction)
}
