Sprache:
Inhaltsverzeichnis
Grafik
SewerOrder
Bestelldatenaustausch im Abwasserbereich

Was ist SewerOrder?

SewerOrder ist ein Datenmodell zum Austausch von Bestellinformationen im Abwasserbereich.


Anlass für die Entwicklung von SewerOrder war, einen einheitlichen Standard zur Bestellung von Bauteilen im Abwasserbereich zu schaffen, um für alle Beteiligte die Digitalisierung des Bestellprozesses zu erleichtern.


SewerOrder bietet folgende Vorteile:

  • schnellere Abwicklung von Angeboten und Bestellungen
  • sichere Behandlung von Änderungen durch das Hersteller-Werk
  • einheitlicher, offener Standard für alle Kanalplanungs- und Abrechnungssysteme sowie Hersteller
  • BIM-konforme Abwicklung
  • durch das JSON-Format auch für das menschliche Auge lesbar

  • Das Datenmodell von SewerOrder beschreibt sowohl eine Austauschmodell im JSON-Format als auch ein Datenbank-Schema als Bestelldatenpool, welches für Microsoft SQL-Server ausgelegt ist, welcher Schemata als Namensräume unterstützt. Das Datenmodell lässt sich aber auch auf andere Datenbanksysteme übertragen, indem Namensraumbezeichnung und Tabellennamen zu einem Namen zusammengeführt werden.

    Das JSON-Austauschformat ist dafür vorgesehen, einen Bestellvorgang inklusive der Abstimmung über notwendige Korrekturen durch das Werk über dieses Format zu transportieren.

    Die Datenhaltung in einer Datenbank ist dafür vorgesehen, Projekte (Baustellen) und Bestellungen in großem Umfang zu verwalten.

    Das Datenmodell entspricht inhaltlich der bisherigen halbanalogen Vorgehensweise, die sich fachlich bewährt hat.
    Das Datenformat JSON wurde gewählt, weil JSON z.B. gegenüber XML mit blossem Auge einfacher zu lesen ist, sehr kompakt ist, stark verbreitet ist und sich immer mehr durchgesetzt.


    Bisheriger Ablauf

    -

    Bisher erfolgt die Bestellung von Bauteilen im Wesentlichen über freie textliche Beschreibungen und bei Schachtunterteilen über sogenannte Schachtuhren.

    EDV-Systeme können diese Schachtuhren als PDF automatisiert erzeugen.

    Alternativ lädt man ein Formblatt des Herstellers herunter und füllt die notwendigen Angaben wie Durchmesser und Winkel der angeschlossenen Rohre von Hand aus.

    Dieses Vorgehen ist fehleranfällig und aufwändig. Der Bestellende darf beim Ausfüllen des Schachtuhren-Formblattes keine Fehler machen und bei der Übernahme im Werk besteht erneut die Gefahr einer falschen Datenübernahme.

    Ablauf bei SewerOrder

    -

    Die Bestellung von Bauteilen mittels SewerOrder erfolgt vollständig digital.

    Es werden folgende Phasen abgedeckt und durch die Dateinamenserweiterung gekennzeichnet:

    *.sewerorder10: Planer/Bauherr/Ausschreibungsstelle an Baufirma (Bieter) ohne Preise, auch ohne Einzelbauteile
    *.sewerorder20: Preisanfrage der Baufirma beim Hersteller (Werk) mit Bauteilen
    *.sewerorder30: Preisangebot von Hersteller an Baufirma mit ggf. angepassten Bauteilen
    *.sewerorder40: Bestellung von Baufirma an Hersteller
    *.sewerorder50: Anfrage zu Freigabe von Hersteller an Baufirma

    "*" sollte ein selbsterklärender Dateinamen mit Datum nach ISO 8601 bzw. DIN 5008 (JJJJ-MM-TT) gefolgt vom Namen der Baustelle sein.
    Beispiel: 2025-05-05_Beispielstadt_Kanalstr_1.sewerorder10

    Die sewerorder-Datei wird im JSON-Format mit Zeilenumbrüchen gespeichert.
    Die Dateicodierung ist UTF-8.
    Auf eine Unicode-Darstellung von Sonderzeichen sollte aus Gründen der Lesbarkeit verzichtet werden.
    Es wird empfohlen, im Dateinamen anstelle Leerzeichen Unterstriche zu verwenden.

    Die nachfolgende Grafik veranschaulicht die Phasen 10 bis 50:
    -

    SewerOrder ist somit ein Format, welches sowohl das zu bauende Kanalnetz und seine Bauteile ähnlich wie IFC geometrisch exakt beschreibt, darüber hinaus jedoch den GAEB-Datenaustausch ergänzt und erstmalig den Bestellprozess zwischen Baufirma und Werk digital abbildet.

    Phase 10 (Ausschreibung): Der Auftraggeber ist in der Lage, zusätzlich zum Leistungsverzeichnis im Format GAEB X83 der Ausschreibung eine SewerOrder10-Datei mitzugeben. Verfügt die Baufirma über ein CAD-System mit Kanalmodul, welches SewerOrder unterstützt, kann diese auf Basis des Modells bereits kalkulieren und später ein Angebot in Form von X84 an den Auftraggeber zurücksenden.

    Phase 20 (Preisanfrage): Wenn die Baufirma nicht auf Basis von Listenpreisen oder Erfahrungswerten (Stammdaten) kalkulieren möchte, kann sie zur genaueren Berechnung der Angebotspreise eine SewerOrder20-Datei an das Werk senden. Dieses Format kann Schachtbauteile als Vorschlag enthalten, muss es aber nicht. Wichtig ist die Angabe der Schachgesamttiefe zwischen Deckel und tiefster Sohle (in der Regel am Auslauf) sowie Rohrart, Durchmesser und Winkel aller angeschlossenen Haltungen in Form einer digitalen Schachtuhr.

    Phase 30 (Angebot): Das Werk prüft, ob sich das Unterteil bauen lässt, ändert gegebenenfalls den Durchmesser und/oder die Bauhöhe und schlägt weitere Aufbauteile mit Preisen vor. Die Baufirma importiert die Datei in ein CAD-System mit Kanalmodul, welches SewerOrder unterstützt und sieht die konfigurierten Aufbauteile, das möglicherweise geänderte Unterteil und die Preise für die Kalkulation.

    Phase 40 (Bestellung): Die Baufirma sendet, bei größeren Baustellen in Chargen aufgeteilt, eine SewerOrder an das Werk als verbindliche Bestellung.

    Phase 50 (Anfrage zu Freigabe): Wenn die Phasen 20 und 30 übersprungen wurden, sendet das Werk an die Baufirma eine SewerOrder50-Datei mit der endgültigen Konfiguration der Schächte zur Freigabe zur Produktion.
    Die Bestätigung der Freigabe erfolgt derzeit über andere Kommunikationswege wie z.B. e-Mail.

    Phasen SewerOrder10-40 können auch einzeln übersprungen werden.

    Ebenso sind mehrere Hin- und Herläufe innerhalb einer Phase möglich, die dann über OrderVersionGuid (JSON) bzw. OrderVersionId (Datenbank) unterschieden werden.

    Bauteiltabellen sind in organisationsspezifischen Katalogen (TypeDictionary) organisiert.
    Eine Organsisation kann eine Standardisierungsorganisation (für herstellerneutrale Planung in Phase 10) oder ein Bauteilhersteller (für Bestellvorgänge) sein.
    Bei Bestellung von Bauteilen, die noch nicht in Bauteiltabellen von sewerorder enthalten sind, wird TypeDictionaryId mit 0 angegeben und organisationsspezifische Bauteilnummern verwendet (PipeTypeId oder ManholePartTypeId).
    Siehe Kapitel 7.2 Herstellerdaten.

    Erläuterung der Anlagen

    Der Inhalt der Anlagen sowie der folgende Text erläutern den Aufbau sowie die Handhabung des Datenaustauschs.

  • [Anlage 1] enthält ein UML-Klassendiagramm (Unified Modelling Language) für einen Überblick über die Verknüpfung der Tabellen bzw. Klassen von SewerOrder.
  • [Anlage 2] enthält ein Entity-Relationship Diagramm (ER-Diagramm), welches das zugrundeliegende Datenbankschema beschreibt, welches zu JSON kompatibel ist.
  • [Anlage 3] enthält alle Tabellen und Datenfelder mit ihren Datentypen in Kompaktdarstellung (spezifische Datentypen mit hinterlegten SQL-Datentypen in Klammern).
  • [Anlage 4] enthält alle Tabellen und Datenfelder mit ihren Datentypen zzgl. deutscher Übersetzung, sowie die Basis-Referenztabellen mit ihrem Inhalt.

  • Anlage 1

    Das UML-Klassendiagramm in [Anlage 1] beschreibt die Verknüpfung der Dateninhaltstabellen und dient der Erläuterung der Grundstruktur von SewerOrder.

    Dies ist Anlage 1:

    Rauten kennzeichnen „enthält“-Beziehungen.
    Dreiecke kennzeichnen „ist ein“-Beziehungen.
    Zahlenwerte am Ende von „enthält“-Beziehungen beschreiben die mögliche Anzahl der enthaltenen Elemente (Multiplizität).

    Die nachfolgende Erläuterung verweist mit (n)-Kennziffern auf numerierte Tabellen in Anlage 2.
    Ein Bestellprojekt (1) enthält drei Adressen (2) (Besteller, Hersteller und Baustellenadresse) sowie eine oder mehrere Bestellungen (4).
    Eine Bestellung (4) enthält eine oder mehrere Bestellversionen (5).
    Eine Bestellversion (5) enthält keine oder mehrere Schächte (7) und keine oder mehrere Haltungen (29) , aber mindestens einen Schacht oder eine Haltung
    Ein Schacht (7) enthält keinen (keinen im Fall eines Platzhalters für Rohrbestellungen), einen oder mehrere Schachteinstiege (14).
    Ein Schachteinstieg (14) enthält ein oder mehrere Schachtaufbauteile (15).
    Ein Schachtaufbauteil (15) enthält keinen, einen oder mehrere Rohranschlüsse (16).
    Ein Schacht (7) enthält kein (Sickerschacht hat z.B. u.U. kein Unterteil) oder ein Schachtunterteil (9).
    Ein Schachtunterteil (9) enthält einen oder mehrere Schachtanschlüsse (13).
    Ein Schachtunterteil (9) ist entweder ein rundes Schachtunterteil (12) oder ein Schachtbauwerkunterteil (10).
    Ein Schachtbauwerkunterteil (10) hat 3 oder mehr Schachtinneneckpunkte (11).
    Eine Haltung (29) enthält kein (kein z.B. bei Schachtdurchführungen), ein oder mehrere Rohre (18).
    Ein Rohr (18) kann auch ein Übergangsrohr (19) (unterschiedliche Durchmesser an Rohranfang und Rohrende) oder ein ggf. gekrümmtes Anschlussrohr (23) mit zugehörigen Anschlussknoten (25) sein. Ein Rohr der Ausprägung (18), (19) oder (23) kann keine, einen oder mehrere Anschlüsse (17) haben.

    Anlage 2

    Das ER-Diagramm (Entity-Relationship Diagramm) in [Anlage 2] beschreibt das Datenbankschema von SewerOrder, welches dem JSON-Format zugrundliegt.

    Dies ist Anlage 2:

    Zusammenhängende Bereiche sind in Anlage 2 als farblich hinterlegte „Packages“ mit einer Bezeichnung am linken oberen Rand des rechteckigen Bereiches dargestellt.
    Die Tabellen (hier gleichbedeutend mit Klassen) haben am oberen farblich hervorgehobenen Rand ein Bezeichnungsfeld mit Namen und vorangestelltem Namensraum (schema und namespace sind hier gleichbedeutend) der Tabelle.
    Unterhalb des Tabellennamens sind die Feldnamen der Tabelle aufgelistet.
    Die Bezeichnung Feld (Datenbank) ist hier gleichbedeutend mit Attribut (JSON).
    Felder, die nicht in JSON erscheinen, sind grau dargestellt.
    Felder, die in ihrer Kombination eindeutig sein müssen (Primärschlüssel) sind fett und unterstrichen dargestellt.
    Felder, die auf eine andere Tabelle verweisen (Fremdschlüssel) sind kursiv und unterstrichen dargestellt.
    Zur Veranschaulichung sind innerhalb der Tabellen z.T. Beispielgrafiken enthalten.

    Die nachfolgende Beschreibung orientiert sich an den nummerierten Kreisen, die sich auf Tabellen oder Packages beziehen.
    Eine Bestellung (4) verweist auf ein Bestellprojekt (1).
    Ein Bestellprojekt (1) verwendet eine Lagekoordinatensystem und ein Höhensystem (3).
    Ein Bestellprojekt (1) enthält drei Adressen (2) (Besteller, Hersteller und Baustellenadresse).
    Eine Bestellung (4) enthält eine oder mehrere Bestellversionen (5) mit jeweils einem Bestellversionstyp (6).
    Eine Bestellversion (4) enthält keinen, einen oder mehrere Schächte (7) bzw. ein Schacht (7) verweist auf eine Bestellversion (4).
    Ein Schacht (7) enthält kein, ein oder mehrere Schachtdokumente (8) bzw. ein Schachtdokument (8) verweist auf einen Schacht (7).
    Ein Schacht (7) bezieht sich auf mehrere Schachtreferenztabellen (22).
    Ein Schacht (7) enthält kein oder ein Schachtunterteil (9) bzw. ein Schachtunterteil (9) verweist auf einen Schacht (7).
    Ein Schachtunterteil (9) ist ein rundes Schachtunterteil (12) oder ein Schachtbauwerkunterteil (10) bzw. (12) und 10) verweist auf (9).
    Ein Schachtunterteil (9) bezieht sich auf mehrere Schachtunterteilreferenztabellen (21).
    Ein Schachtunterteil (9) enthält ein oder mehrere Schachtanschlüsse (13), die optionale Konstruktionshinweise (24) für Schachtuhrzeichnungen haben.
    Ein Schachtanschluss (13) bezieht sich auf einen Rohrtyp (30) eines Kataloges (26).
    Ein Schachtbauwerkunterteil (10) hat 3 oder mehr Schachtinneneckpunkte (11) bzw. die Schachtinneneckpunkte (11) verweisen auf ein Schachtbauwerkunterteil (10).
    Ein Schacht (7) enthält keinen (keinen im Fall eines Platzhalters für Rohrbestellungen), einen oder mehrere Schachteinstiege (14).
    Ein Schachteinstieg (14) enthält ein oder mehrere Schachtaufbauteile (15), die von einem Schachtaufbauteiltyp (27) eines Kataloges (26) sind.
    Ein Schachtaufbauteil (15) enthält keinen, einen oder mehrere Rohranschlüsse (16)
    Ein Schacht (7) enthält kein (Sickerschacht hat z.B. u.U. kein Unterteil oder es werden nur Rohre bestellt, vgl. NotPartOfOrder bei Order.Manholebase) oder ein Schachtunterteil (9).

    Zwischen den Schachtanschlüssen (13) von zwei Schächten (7) ist eine Haltung (29) definiert, welche vom Entwässerungssystem der Referenztabelle in (22) ist.
    Eine Haltung (29) enthält kein (kein z.B. bei Schachtdurchführungen), ein oder mehrere Rohre (18) bzw. ein Rohr verweist auf eine Haltung.
    Ein Rohr (18) kann auch ein Übergangsrohr (19) (unterschiedliche Durchmesser an Rohranfang und Rohrende) oder ein ggf. gekrümmtes Anschlussrohr (23) mit zugehörigen Anschlussknoten (25) sein. Ein Rohr der Ausprägung (18), (19) oder (23) kann keinen, einen oder mehrere Anschlüsse (17) haben und verweist auf einen Rohrtyp (30) eines Kataloges (26).
    Ein Rohrtyp (30) hat ein einen Profiltyp (20) und einen Rohrverbindungstyp (28).

    Ein Bestellprojekt (1) ist bei Datenbankspeicherung einer Benutzerverwaltung (31) zugeordnet.
    Auf Datenbankebene ist ein Projekt (eine Baustelle) (1) die Ausgangsbasis des Datenmodells. Das Projekt (1) verweist auf Adressinformationen (2) und Angaben zum verwendeten Koordinatensystem (3).
    Eine Bestellung (4) und ein Projekt (1) sind bei Datenbankspeicherung einem Benutzer mit einem Login zugeordnet (31).
    In der Zuordnung (31) ist auch die aktuell bearbeitete Bestellversion (5), der aktuelle bearbeitete Schacht (7) und die aktuell bearbeitete Haltung (29) abgelegt.

    Anlage 3

    Die Erläuterung der Datentypen in [Anlage 3] enthält alle Tabellen und Datenfelder mit ihren Datentypen in Kompaktdarstellung.

    Dies ist Anlage 3:

    Jeder Namensraum ist in einem Package zusammengefasst, so dass dieser gegenüber Anlage 2 in den Tabellennamen nicht erneut benannt ist.
    Die Datentypen wurden möglichst differenziert und mit selbsterklärender Namen versehen (für SewerOrder benutzerdefinierte SQL-Datentypen).
    Die zugrundeliegenden SQL-Datentypen sind in Klammern (spezifische Datentypen mit hinterlegten SQL-Datentypen in Klammern).
    Danach folgt eine Angabe, ob das Feld NULL-Werte (keine Angabe) enthalten darf (i.d.R. NOT NULL).
    (nvarchar) entspricht in den meisten Programmiersprachen dem Typ „string“ und (float) dem Typ „double“. (int) entspricht einer 32-bit Ganzahl.

    Anlage 4

    Die Tabellendokumentation in [Anlage 4] enthält ähnlich wie Anlage 3 eine Feldbeschreibung der Tabellen von SewerOrder.

    Dies ist Anlage 4:

    Zusätzlich enthalten die Feldbeschreibungen auch eine deutsche Erläuterung.
    Weiterhin ist auch der Inhalt der Basis-Referenztabellen (nicht-herstellerspezifische Referenztabellen) aufgelistet.
    D.h. Referenztabellen mit „Ref“ oder „Enum“ in der Namespace-Bezeichnung vor dem Tabellennamen) enthalten auch den Tabelleninhalt.
    Das Inhaltsverzeichnis ist verlinkt. Bei Anklicken springt man zur zugehörigen Seite.
    Klickt man auf die Seitenzahl unten rechts, gelangt man wieder zum Inhaltsverzeichnis.

    Koordinatensystem

    Positive Z-Achse = Nach oben orientiert (ggf. um Rohrgefälle geneigt)
    Am Schacht wird zur Ausmittigkeitsbestimmung z (0,0,1) verwendet (kein schräger Abstand)
    Positive X-Achse = vom Spitzende zur Glocke
    Da am Schacht die Spitzenden angeschlossen sind ist positive X-Achse vom Schacht weg orientiert (grüner Pfeil in letzter Grafik von blauem Punkt zu violettem Punkt).

    -
    Abbildung 1: Positive Y-Achse = Kreuzprodukt Z x X => Ausmitte, Auszug aus Wasser und Abfall 06/2023


    Abbildung 2: Vorzeichen- und Richtungsvereinbarungen.

    Orange=Schachtmittelpunkt
    Rot=Fließrichtung
    Blau=Schachtinnenpunkt
    Violett=Schachtaussenpunkt
    Grün=Richtungsvektor und Normalen-Vorzeichen

    Sonderbauwerke

    Sonderbauwerke im Sinne dieser Dokumentation sind Bauwerke, die nicht nur mit den Datenfeldern dieses Datenmodells abgebildet werden können (z.B. Regenüberläufe).
    Für diesen und ähnliche Fälle ist die Klasse/Tabelle Order.ManholeDocument vorgesehen. Dort kann zum Beispiel auf eine IFC-Modell verwiesen werden.
    Das eigentliche Dokument kann dann als Email-Anhang oder als Download-Link übermittelt werden.
    Das Feld ManholeDocumentName ermöglicht auch die Angabe eines Hyperlinks auf einen Ablageort.

    Schlüsseltabellen

    Das JSON-SewerOrder-Datenmodell ist so aufgebaut, dass anstelle von Verweisen auf Schlüsseltabellen die konkret verwendete Zeile der Schlüsseltabelle mit ihren Erläuterungen direkt eingebettet ist.
    Die Verfahrensweise wurde gewählt, um sicherzustellen, dass mit verwendeten Schlüsselwerten (die dann in der eingebetteten Schlüsseltabellenzeile ausgewiesen ist) auch der gewünschte Inhalt gemeint ist (Transparenzprinzip).
    Beim Import einer JSON-SewerOrder-Datei in eine Datenbank muss dann geprüft werden, ob die dem Schlüssel zugehörigen Werte mit den Datenbankeinträgen übereinstimmen.

    Es wird zwischen zwei Arten von Schlüsseltabellen unterschieden, die nachfolgend erläutert werden:

    Globale Schlüsseltabellen

    Globale Schlüsseltabellen haben nur einen Schlüssel (Integer-Zahl) und sind als Tabellen in den Namensräumen Enum, ConcreteRef und CoordsRef, sowie teilweise in ManholeRef enthalten.
    Globale Schlüsseltabellen sind unter www.sewerorder.org/ref abgelegt.

    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ConcreteRef.ConsistencyClass.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ConcreteRef.ExposureClass.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ConcreteRef.StrengthClass.json

    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.CoordsRef.HorizontalDatum.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.CoordsRef.VerticalDatum.json

    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.Enum.OrderVersionType.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.Enum.PipeProfileType.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.Enum.PipeConnectionType.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.Enum.SewerSystem.json

    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ManholeRef.BanquetHeightType.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ManholeRef.ClimbingSystem.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ManholeRef.Coating.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ManholeRef.ManholeDesign.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.ManholeRef.VerticalConnectingSystem.json

    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.TypeRef.Release.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.TypeRef.Application.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.TypeRef.PricingType.json
    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.TypeRef.PricingUnit.json

    Herstellerdaten

    Herstellerspezifische Schlüsseltabellen werden bei SewerOrder Dictionaries genannt. Ein Dictionary entspricht dem Katalog eines Herstellers oder dem Inhaber eines Standards.
    Da z.B. TypId=1 sowohl im Katalog eines Herstellers A als auch eines Hersteller B vorkommen kann und ganz unterschiedliche Produkte beinhalten kann, ist die Übergabe von TypeId + DictionaryId erforderlich.
    In Annex 4, „TypeRef.TypeDictionary“ sind Beispiele für TypeDictionaryId‘s vergeben (mit 49 für deutsche Kataloge beginnend).

    Herstellerspezifische Schlüsseltabellen haben daher ein Schlüsselpaar (Integer-Zahlen), das aus der Nummer des Herstellerkataloges (Dictionary) und der Produktnummer für diesen Herstellerkatalog besteht.
    Eine Produktnummer 1 kann dann z.B. in jedem Herstellerkatalog auftreten und sich aber auf völlig unterschiedliche Produkte beziehen.
    Sie sind in den Namensräumen ManholeRef (teilweise) und PipeRef enthalten.
    Herstellerspezifische Schlüsseltabellen sind unter www.sewerorder.org/ref abgelegt.

    Herstellerverzeichnis

    Inhalt von https://sewerorder.org/ref/V1_0/sewerorder.TypeRef.TypeDictionary.json

    Herstellerspezifische Schlüsseltabellen (hier FBS)

    Inhalt von https://sewerorder.org/ref/V1_0/00491/sewerorder.ManholeRef.ManholePartType.json
    Inhalt von https://sewerorder.org/ref/V1_0/00491/sewerorder.PipeRef.PipeType.json

    SewerOrder auf GitHub

    Über github/sewerorder gelangt man zum github-repository von SewerOrder.
    Dort befindet sich auch das Datenschema von SewerOrder im JSON-Format.
    Es besteht auch die Möglichkeit, Fragen oder Hinweise unter Issues zu hinterlegen.

    Datenbankanbindung

    Das Datenbankschema von SewerOrder ist in github/sewerorder hinterlegt.


    Die Eindeutigkeit auf Dateiebene (JSON) wird durch die GUID’s *) „OrderGuid“, „OrderVersionGuid“ sowie "ProjectGuid" erreicht.


    Beispiele:

  • "OrderGuid": "78b24e9a-c0a4-4189-a29e-7301a76bbc5a"
  • "OrderVersionGuid": "ad018336-7d18-4ec1-9fbf-93d5bbbf9f75"
  • "ProjectGuid": "36fe674c-fbf1-436f-afc3-c7d0d0a4f312"

  • *) GUID Globally Unique Identifier - Zahl/Zeichenfolge zur weltweit eindeutigen Identifikation Informationen in Computersystemen (wird über den Aufruf einer Funktion des Betriebssystems generiert)


    OrderId, OrderVersionId und ProjectId sind nur bei SQL-Datenbankhaltung relevant und wurden verwendet, um nicht die sehr großen Guid-Schlüssel in allen Tabellen angeben zu müssen. Da in einer relationalen Datenbank keine hierarchische Speicherung wie in JSON stattfindet, muss mit Verweisen auf eigentlich hierarchische Daten gearbeitet werden. Diese Verweise erfolgen üblicherweise über Id's (Ganzzahlen).


    D.h. der JSON-Datenaustausch kann auch ohne OrderId, OrderVersionId und ProjectId durchgeführt werden. Aus diesem Grund sind in Anlage 2 OrderId, OrderVersionId und ProjectId in allen Tabellen bzw. Klassen ausgegraut.


    Beim Datenbankimport aus einer SewerOrder-JSON Datei müssen dann (sofern das beschriebene Datenbankschema verwendet wird) erst Id's in der Datenbank vergeben werden und sind dann auch nur innerhalb der jeweiligen Datenbank gültig. Um zu prüfen, ob es sich nur um eine Version einer bestehenden Bestellung handelt, müssen die Guid’s in Datenbank und Json-Datei verglichen werden.


    Datenbankexport

    Beim Datenbankexport kann auf die vordefinierten Abfragen im Schema "co" wie "current order" zurückgegriffen werden. Die co-Abfragen greifen dabei auf die aktuell eingestellte Bestellung des aktuellen Users in [User].[UserProjectAssignment] zu, so dass unterschiedliche Personen innerhalb einer Datenbank auf unterschiedliche Bestellungen zurückgeifen können.

    Datenbankimport

    In der JSON-Datei sind bewusst keine Id‘s enthalten (nur bei Katalog-Tabellen innerhalb der Katolog-Kopie), da es keine Zentraldatenbank gibt bzw. geben soll.
    Das erste Einlesen mit OrderId=0 (default) sollte problemlos funktionieren.
    Aber nur einmal. Ein zweites Einlesen ist nur nach Zuordnen des ersten Imports mit einer neuen oder bereits vergebenen OrderId möglich.
    Durch die kaskadierende referenzielle Integrität muss nur bei Order die Id von 0 auf einen anderen Wert geändert werden, was sich dann auf alle angeschlossenen Tabellen auswirkt.

    Konkret müssen folgende Dinge beim Import erledigt werden:
  • Prüfung auf bereits vorhandenes Projekt zu den Bestellungen
  • Prüfung auf bereits vorhandene Bestellungen
  • Prüfung auf bereits vorhandenes Bestellvariante (ggf. Id [automatisiert] für den Import erhöhen)
  • Prüfung auf bereits vorhandene Kataloge anhand der Katalogbeschreibung (automatisiert)

  • Die Verwendung von Id‘s ist erforderlich, um mehrere Bestellungen in einer Datenbank verwalten zu können.

    Beispiele

    Beispiel Phase 10

    Das nachfolgende Beispiel beschreibt die Anfrage eines Schachtes auf Basis von Planungsdaten (Phase 10).
    - -

    Die nachfolgende Grafik zeigt die erforderlichen Angaben in Phase 10 auf Basis von Anhang 1 (UML-Diagramm):
    -

    Die für eine Schachtbestellung erforderlichen Dateninhaltstabellen sind der Grafik rot umrahmt.
    Sollen auch Rohre bestellt werden, sind noch die orange umrandeten Angaben erforderlich.

    Folgende Dateninhaltstabellen sind für die Schachtbestellung erforderlich:
    (1) Order.Project: Angaben zum Projekt
    (4) Order.Order: Die Bestellung (hier noch Anfrage)
    (5) Order.OrderVersion: Bestellversion (Anfrage/Phase 10)
    (7) Order.Manhole: Der Schacht
    (9) Order.ManholeBase: Das Schachtunterteil
    (13) Order.ManholePipeConnection: Die Rohranschlüsse
    (12) Order.ManholeBaseRound: Annahme eines runden Schachtunterteils

    Für die Mitbestellung von Rohren ist noch erforderlich:
    (29) Order.Section: Die Haltung, für die Rohre bestellt werden soll
    Soll nur der Schacht bestellt werden, können zur Vervollständigung des Modells auch Haltungsdaten und auch Rohre übergeben werden, wo dann das Attribut "NotPartOfOrder" gesetzt ist.

    Die nachfolgende Grafik zeigt die erforderlichen Angaben in Phase 10 auf Basis von Anhang 2 (ER-Diagramm):
    -



    Beispieldatei: 2025-05-05_ExampleCity_SewerRoad_1.sewerorder10 (zum download hier klicken)
    1
    {
    2
      "Order": {
    2: JSON-Wurzelknoten für SewerOrder
    3
        "CreatingApplicationOfOrder": {
    3: Angaben zur erzeugenden Software
    4
          "ApplicationName": "CreateSewerOrderJson",
    5
          "ApplicationDescription": "testfile-creation-software",
    6
          "ApplicationUrl": "https://sewerorder.org"
    7
        },
    8
        "ReleaseOfOrder": {
    8: Version des SewerOrder-Datenmodells
    9
          "ReleaseName": "1.0",
    10
          "ReleaseDescription": "Initial release of SewerOrder 2025"
    11
        },
    12
        "OrderName": "order example phase 10",
    12: Name der Bestellung. Weitere Beschreibung über das Feld OrderDescription möglich.
    13
        "OrderDescription": "",
    13: Beschreibung der Bestellung
    14
        "OrderDate": "2025-05-05T00:00:00",
    14: Bestelldatum
    15
        "OrderGuid": "8137ceab-3134-4c80-a568-5fb68b4462BB",
    15: GUID *) zur eindeutigen Bestellungs-Identfizierung. Bei Datenbankspeicherung wird OrderId verwendet. *) GUID= Globally Unique Identifier - Zahl/Zeichenfolge zur weltweit eindeutigen Identifikation Informationen in Computersystemen (wird über den Aufruf einer Funktion des Betriebssystems generiert)
    16
        "ProjectOfOrder": {
    16: Projekt (i.d.R.Baustelle), auf das sich diese Bestellung bezieht.
    ...
    33
          "HorizontalDatum": {
    33: Verwendetes Lagekoordinatensystem (hier UTM-Streifen 32)
    34
            "HorizontalDatumId": 25832,
    35
            "HorizontalDatumName": "EPSG25832",
    36
            "HorizontalDatumDescription": "ETRS89 / UTM zone 32N Eastnumbers 6 (DE default)"
    37
          },
    ...
    75
          "VerticalDatum": {
    75: Verwendetes Höhensystem (hier NHN)
    76
            "VerticalDatumId": 7837,
    77
            "VerticalDatumName": "DHHN2016",
    78
            "VerticalDatumDescription": "NHN (since 1993) epsg 7837 (DHHN2016)"
    79
          },
    80
          "ProjectGuid": "8137ceab-3134-4c80-a568-5fb68b4462AA",
    80: GUID zur eindeutigen Projekt-Identfizierung. Bei Datenbankspeicherung wird OrderId verwendet.
    81
          "ProjectName": "example project",
    81: Name der Projektes (i.d.R.Baustelle, z.B. Neubaugebiet XY). Weitere Beschreibung über das Feld ProjectDescription möglich.
    82
          "ProjectDescription": "",
    83
          "SiteLocationLatidude": 0,
    83: Längengrad der Baustelle.
    84
          "SiteLocationLongitude": 0,
    84: Breitengrad der Baustelle.
    85
          "ProjectLocation": ""
    86
        },
    87
        "OrderVersion": {
    88
          "OrderVersionType": {
    88: Bestellphase. Hier noch keine Bestellung, sondern Ausschreibungsangaben für den Bieter (Bauunternehmer). Siehe Referenztabelle in https://www.sewerorder.org/ref/V1_0/sewerorder.Enum.OrderVersionType.json
    89
            "OrderVersionTypeId": 10,
    90
            "OrderVersionTypeName": "ClientToCompany",
    90: Name der Bestellphase. Weitere Beschreibung über das Feld OrderVersionDescription möglich.
    91
            "OrderVersionTypeDescription": "*.sewerorder10: Planer/Bauherr/Ausschreibungsstelle an Baufirma (Bieter) ohne Preise,
    92
          },
    93
          "OrderVersionName": "from client to company",
    94
          "OrderVersionDescription": "",
    95
          "OrderVersionGuid": "8137ceab-3134-4c80-a568-5fb68b4462C1",
    95: GUID zur eindeutigen OrderVersion-Identfizierung. Bei Datenbankspeicherung wird OrderVersionId verwendet.
    96
          "ManholeList": [
    96: Schachtliste.
    97
            {
    ...
    118
              "ManholeId": 1,
    118: Schacht-Id. Wird zur Datenbankspeicherung und zur Referenzierung von Haltungsverbindungen verwendet.
    119
              "ManholeName": "04M.11105",
    119: Schacht-Bezeichnung.
    120
              "ManholeNameManufacturer": "",
    121
              "DeliveryOrder": 0,
    122
              "DeliveryDate": "2025-06-21T00:00:00",
    123
              "Depth_Cover2DeepestChannel": 4.04,
    123: Tiefe des Schachtes von Deckeloberkante bis abgehender Rohrsohle.
    124
              "TotalDepth": 0,
    124: Gesamttiefe des Schachtes von Deckeloberkante bis Oberkante Bodenplatte (in Planung noch nicht bekannt)
    125
              "OptionalPricingGroupId": 1,
    126
              "ManholeBaseOfManhole": {
    126: Schachtunterteil.
    ...
    153
                "CenterEast": 476243.502,
    153: Rechtswert Schachtmitte (Schachtunterteil) entsprechend Koordinatensystem.
    154
                "CenterNorth": 5617529.252,
    154: Hochwert Schachtmitte (Schachtunterteil) entsprechend Koordinatensystem.
    155
                "OutflowHeightOfChannel": 241.32,
    155: Ablaufsohlhöhe am Schachtinnenrand entsprechend Höhensystem.
    156
                "HasTransportAnchors": false,
    157
                "ChannelDescription": "",
    158
                "HasChannelClimbingSystem": false,
    159
                "NotPartOfOrder": false,
    159: Falls dieser Schacht nicht Bestandteil der Bestellung ist, dann false.
    160
                "WallThickness": 0.15,
    161
                "SlabThickness": 0,
    162
                "OptionalPricingGroupId": null,
    163
                "ManholePipeConnectionList": [
    163: Rohranschlussliste
    164
                  {
    165
                    "PipeTypeOfManholePipeConnection": {
    165: Hersteller- oder Norm-Katalogangaben des Rohrtyps. Siehe Referenztabelle in https://www.sewerorder.org/ref/V1_0/sewerorder.TypeRef.TypeDictionary.json
    166
                      "DictionaryOfPipeType": {
    166: Erster Rohranschluss (Ablauf)
    167
                        "TypeDictionaryId": 491,
    168
                        "TypeDictionaryName": "FBS",
    169
                        "TypeDictionaryDescription": "FBS-standard",
    170
                        "TypeDictionaryParentId": 0,
    171
                        "TypeDictionaryUrl": "https://sewerorder.org/ref/V1_0/00491"
    172
                      },
    173
                      "PipeConnectionType": {
    174
                        "PipeConnectionTypeId": 0,
    174: Rohrtyp-Id (für Enumerationswert und Datenbankspeicherung) Siehe Referenztabelle in https://www.sewerorder.org/ref/V1_0/sewerorder.Enum.PipeConnectionType.json
    175
                        "PipeConnectionTypeName": "not_set_or_userdefined",
    176
                        "PipeConnectionTypeDescription": "n/a or userdefined"
    177
                      },
    178
                      "PipeProfileType": {
    178: Rohrprofiltyp (für Enumerationswert und Datenbankspeicherung) Siehe Referenztabelle in https://www.sewerorder.org/ref/V1_0/sewerorder.Enum.PipeProfileType.json
    179
                        "PipeProfileTypeId": 1,
    180
                        "PipeProfileTypeName": "circle",
    181
                        "PipeProfileTypeDescription": "circle profile (ISYBAU 0)"
    182
                      },
    183
                      "PipeTypeId": 24003,
    183: Rohrtyp des Herstellers oder der Norm. Siehe Referenztabelle (hier FBS) in https://www.sewerorder.org/ref/V1_0/sewerorder.PipeRef.PipeType.json
    184
                      "PipeTypeName": "SB - K - VM - 500 x 2000",
    185
                      "PipeTypeDescription": "Stahlbetonrohr DIN V 1201 - Typ 2 - SB - K - VM - 500 x 2000",
    186
                      "MaterialName": "SB",
    186: Materialkürzel
    187
                      "InnerWidth": 0.5,
    187: Innendurchmesser (Breite)
    188
                      "InnerHeight": 0,
    188: Innendurchmesser (Höhe)
    189
                      "DefaultLength": 2
    190
                    },
    190: Ende der Anschlussrohrtypenbeschreibung
    191
                    "PipeConnectionId": 1,
    191: Rohrverbindungs-Id (Zähler)
    192
                    "Comment": "",
    193
                    "IsOutlet": true,
    193: Kennung, ob es sich um den Auslaufanschluss handelt. Darf pro Schacht nur einmal auftreten.
    194
                    "ConnectingPointEast": 476243.502,
    194: Rechtswert Anschlusspunkt innen (zur Winkelbestimmung)
    195
                    "ConnectingPointNorth": 5617529.252,
    195: Hochwert Anschlusspunkt innen (zur Winkelbestimmung)
    196
                    "ConnectingPointHeightOfChannel": 241.32,
    196: Sohlhöhe am Anschlusspunkt innen
    197
                    "OuterPointEast": 476219.5978,
    197: Rechtswert Anschlusspunkt außen (zur Winkelbestimmung)
    198
                    "OuterPointNorth": 5617545.404,
    198: Hochwert Anschlusspunkt außen (zur Winkelbestimmung)
    199
                    "OuterPointHeightOfChannel": 240.15,
    199: Sohlhöhe am Anschlusspunkt außen
    200
                    "DrawingOfManholePipeConnection": {
    200: Angaben (Winkel und Ausmittigkeit) zur Schachtuhrerzeugung (optional, da diese auch über die o.g. Koordinatenangaben errechnet werden können)
    201
                      "AngleFromOutlet": 0,
    202
                      "PipeNormalDeviationToCenter": 0
    203
                    }
    203: Ende der Beschreibung des ersten RohrAnschlusses
    204
                  },
    205
                  {
    206
                    "PipeTypeOfManholePipeConnection": {
    206: Zweiter Rohranschluss (Zulauf)
    ...
    234
                    "IsOutlet": false,
    234: Kein Auslaufanschluss
    ...
    247
                    "PipeTypeOfManholePipeConnection": {
    247: Dritter Rohranschluss (Zulauf)
    ...
    287
                ],
    287: Ende der Rohranschlussliste
    288
                "ManholeBaseRound": {
    288: Der Schacht ist ein Rundschacht.
    289
                  "InnerDiameter": 1.2
    289: Innendurchmesser des Rundschachtes.
    290
                },
    291
                "ManholeBaseStructure": null
    291: (Schachtbauwerk) ist hier nicht belegt, da es sich um einen Rundschacht handelt.
    292
              },
    293
              "EntryShaftList": [],
    293: Einstieg (bei Bauwerken ggf. mehrere. Enthält bei Bedarf auch Angaben zur Ausmitte
    294
              "ManholeDocumentList": []
    294: Hier können bei Bedarf Planunterlagen benannt werden. Das ist typischerweise bei Schachtbauwerken oder Sonderbauwerken sinnvoll.
    295
            },
    296
            {
    296: Nächster Schacht
    ...
    358
                "NotPartOfOrder": true,
    358: Schacht ist nicht Bestandteil der Bestellung.
    ...
    648
          "SectionList": [
    648: Haltungsliste (kann auch zu bestellende Rohre enthalten)
    ...

    Beispiel Phase 20

    Schachtangebotsanfrage beim Hersteller:

    Beispieldatei: 2025-05-12_ExampleCity_SewerRoad_1.sewerorder20 (zum download hier klicken)
    ...
    294
                {
    295
                  "EntryShaftId": 1,
    296
                  "EntryShaftName": "default",
    297
                  "ManholePartList": [
    298
                    {
    299
                      "ManholePartType": {
    300
                        "DictionaryOfManholePartType": {
    301
                          "TypeDictionaryId": 491,
    302
                          "TypeDictionaryName": "FBS",
    303
                          "TypeDictionaryDescription": "FBS-standard",
    304
                          "TypeDictionaryParentId": 0,
    305
                          "TypeDictionaryUrl": "https://sewerorder.org/ref/V1_0/00491"
    306
                        },
    307
                        "ManholePartTypeId": 4005,
    307: Schachtaufbauteil des Herstellers oder der Norm. Siehe Referenztabelle (hier FBS) in https://www.sewerorder.org/ref/V1_0/00491/sewerorder.ManholeRef.ManholePartType.json
    308
                        "ManholePartTypeName": "SR-M 1200x500",
    309
                        "ManholePartTypeDescription": "Schachtring mit Muffe DIN 4034-1 SR-M 1200x500",
    310
                        "Height": 0.5,
    311
                        "DefaultLowerInnerDiameter": 1.2
    312
                      },
    313
                      "ManholePartButtomUpId": 1,
    313: Erstes Schachtaufbauteil
    314
                      "ManholePartName": "",
    315
                      "Height": 0.5,
    316
                      "UpperInnerDiameter": 1.2,
    317
                      "UpperCenterEast": 0,
    318
                      "UpperCenterNorth": 0,
    319
                      "LowerInnerDiameter": 1.2,
    320
                      "OptionalLowerCenterEast": null,
    321
                      "OptionalLowerCenterNorth": null,
    322
                      "NotPartOfOrder": false,
    323
                      "OptionalPricingGroupId": null,
    324
                      "ManholePartPipeConnectionList": []
    325
                    },
    326
                    {
    327
                      "ManholePartType": {
    328
                        "DictionaryOfManholePartType": {
    329
                          "TypeDictionaryId": 491,
    330
                          "TypeDictionaryName": "FBS",
    331
                          "TypeDictionaryDescription": "FBS-standard",
    332
                          "TypeDictionaryParentId": 0,
    333
                          "TypeDictionaryUrl": "https://sewerorder.org/ref/V1_0/00491"
    334
                        },
    335
                        "ManholePartTypeId": 4004,
    336
                        "ManholePartTypeName": "SR-M 1200x1000",
    337
                        "ManholePartTypeDescription": "Schachtring mit Muffe DIN 4034-1 SR-M 1200x1000",
    338
                        "Height": 1,
    339
                        "DefaultLowerInnerDiameter": 1.2
    340
                      },
    341
                      "ManholePartButtomUpId": 2,
    341: Zweites Schachtaufbauteil
    ...
    497
              "ManholeDocumentList": []
    497: Hier können bei Bedarf Planunterlagen benannt werden. Das ist typischerweise bei Schachtbauwerken oder Sonderbauwerken sinnvoll.
    498
            },
    499
            {
    499: Nächster Schacht
    500
              "ManholeDesign": {
    501
                "ManholeDesignId": 0,
    502
                "ManholeDesignName": "-",
    503
                "ManholeDesignDescription": "n/a or userdefined"
    504
              },
    505
              "SewerSystemOfManhole": {
    506
                "SewerSystemId": 0,
    507
                "SewerSystemName": "undefined",
    508
                "SewerSystemDescription": "n/a or userdefined"
    509
              },
    510
              "VerticalConnectingSystem": {
    511
                "VerticalConnectingSystemId": 0,
    512
                "VerticalConnectingSystemName": "-",
    513
                "VerticalConnectingSystemDescription": "n/a or userdefined"
    514
              },
    515
              "WallClimbingSystem": {
    516
                "ClimbingSystemId": 0,
    517
                "ClimbingSystemName": "undefined",
    518
                "ClimbingSystemDescription": "n/a or userdefined"
    519
              },
    520
              "ManholeId": 2,
    521
              "ManholeName": "04M.11110",
    ...
    869
          "SectionList": [
    869: Haltungsliste (mit zu bestellenden Rohren)
    870
            {
    870: Haltung 1
    871
              "SewerSystemOfSection": {
    872
                "SewerSystemId": 1,
    873
                "SewerSystemName": "mixed",
    874
                "SewerSystemDescription": "Mischsystem"
    875
              },
    876
              "SectionName": "04M.11105",
    876: Haltungsbezeichnung von Haltung 1
    877
              "FromManholeId": 1,
    878
              "FromPipeConnectionId": 1,
    879
              "ToManholeId": 2,
    880
              "ToPipeConnectionId": 1,
    881
              "DeliveryOrder": 0,
    882
              "DeliveryDate": "2025-09-21T18:28:03.5315307+02:00",
    883
              "OptionalPricingGroupId": null,
    884
              "PipeList": [
    884: Rohrliste von Haltung 1
    885
                {
    886
                  "PipeType": {
    887
                    "DictionaryOfPipeType": {
    888
                      "TypeDictionaryId": 491,
    889
                      "TypeDictionaryName": "FBS",
    890
                      "TypeDictionaryDescription": "FBS-standard",
    891
                      "TypeDictionaryParentId": 0,
    892
                      "TypeDictionaryUrl": "https://sewerorder.org/ref/V1_0/00491"
    893
                    },
    894
                    "PipeConnectionType": {
    895
                      "PipeConnectionTypeId": 0,
    896
                      "PipeConnectionTypeName": "not_set_or_userdefined",
    897
                      "PipeConnectionTypeDescription": "n/a or userdefined"
    898
                    },
    899
                    "PipeProfileType": {
    900
                      "PipeProfileTypeId": 1,
    901
                      "PipeProfileTypeName": "circle",
    902
                      "PipeProfileTypeDescription": "circle profile (ISYBAU 0)"
    903
                    },
    904
                    "PipeTypeId": 24003,
    905
                    "PipeTypeName": "SB - K - VM - 500 x 2000",
    906
                    "PipeTypeDescription": "Stahlbetonrohr DIN V 1201 - Typ 2 - SB - K - VM - 500 x 2000",
    907
                    "MaterialName": "SB",
    908
                    "InnerWidth": 0.5,
    909
                    "InnerHeight": 0,
    910
                    "DefaultLength": 2
    911
                  },
    912
                  "PipeButtomUpId": 1,
    912: Rohr 1
    913
                  "PipeLength": 0,
    914
                  "HasDoubleSpigot": true,
    915
                  "NotPartOfOrder": false,
    916
                  "OptionalPricingGroupId": null,
    917
                  "PipeConnectionList": [],
    918
                  "TransitPipeOfPipe": null,
    919
                  "ConnectionPipeOfPipe": null
    920
                },
    921
                {
    922
                  "PipeType": {
    923
                    "DictionaryOfPipeType": {
    924
                      "TypeDictionaryId": 491,
    925
                      "TypeDictionaryName": "FBS",
    926
                      "TypeDictionaryDescription": "FBS-standard",
    927
                      "TypeDictionaryParentId": 0,
    928
                      "TypeDictionaryUrl": "https://sewerorder.org/ref/V1_0/00491"
    929
                    },
    930
                    "PipeConnectionType": {
    931
                      "PipeConnectionTypeId": 0,
    932
                      "PipeConnectionTypeName": "not_set_or_userdefined",
    933
                      "PipeConnectionTypeDescription": "n/a or userdefined"
    934
                    },
    935
                    "PipeProfileType": {
    936
                      "PipeProfileTypeId": 1,
    937
                      "PipeProfileTypeName": "circle",
    938
                      "PipeProfileTypeDescription": "circle profile (ISYBAU 0)"
    939
                    },
    940
                    "PipeTypeId": 24003,
    941
                    "PipeTypeName": "SB - K - VM - 500 x 2000",
    942
                    "PipeTypeDescription": "Stahlbetonrohr DIN V 1201 - Typ 2 - SB - K - VM - 500 x 2000",
    943
                    "MaterialName": "SB",
    944
                    "InnerWidth": 0.5,
    945
                    "InnerHeight": 0,
    946
                    "DefaultLength": 2
    947
                  },
    948
                  "PipeButtomUpId": 2,
    948: Rohr 2
    949
                  "PipeLength": 0,
    950
                  "HasDoubleSpigot": false,
    951
                  "NotPartOfOrder": false,
    952
                  "OptionalPricingGroupId": null,
    953
                  "PipeConnectionList": [],
    954
                  "TransitPipeOfPipe": null,
    955
                  "ConnectionPipeOfPipe": null
    956
                }
    957
              ]
    958
            },
    959
            {
    959: Haltung 2
    960
              "SewerSystemOfSection": {
    961
                "SewerSystemId": 1,
    962
                "SewerSystemName": "mixed",
    963
                "SewerSystemDescription": "Mischsystem"
    964
              },
    965
              "SectionName": "04M.11100",
    965: Haltungsbezeichnung von Haltung 2
    966
              "FromManholeId": 3,
    967
              "FromPipeConnectionId": 1,
    968
              "ToManholeId": 1,
    969
              "ToPipeConnectionId": 2,
    970
              "DeliveryOrder": 0,
    971
              "DeliveryDate": "2025-09-21T18:28:03.5315341+02:00",
    972
              "OptionalPricingGroupId": null,
    973
              "PipeList": [
    973: Rohrliste von Haltung 2
    ...

    Beispiel Phase 30

    Schachtangebot vom Hersteller:

    Beispieldatei: 2025-05-19_ExampleCity_SewerRoad_1.sewerorder30 (zum download hier klicken)
    ...
    16
        "ProjectOfOrder": {
    16: Projekt (i.d.R.Baustelle), auf das sich diese Bestellung bezieht.
    ...
    54
          "PricingUnit": {
    54: Festlegung, ob Preisangaben brutto oder netto
    55
            "PricingUnitId": 1,
    56
            "PricingUnitName": "EUR netto",
    57
            "PricingUnitDescription": "EUR exl. VAT"
    58
          },
    ...
    118
              "ManholeId": 1,
    118: Schacht-Id. Wird zur Datenbankspeicherung und zur Referenzierung von Haltungsverbindungen verwendet.
    119
              "ManholeName": "04M.11105",
    119: Schacht-Bezeichnung.
    120
              "ManholeNameManufacturer": "",
    121
              "DeliveryOrder": 0,
    122
              "DeliveryDate": "2025-06-21T00:00:00",
    123
              "Depth_Cover2DeepestChannel": 4.04,
    123: Tiefe des Schachtes von Deckeloberkante bis abgehender Rohrsohle.
    124
              "TotalDepth": 0,
    124: Gesamttiefe des Schachtes von Deckeloberkante bis Oberkante Bodenplatte (in Planung noch nicht bekannt)
    125
              "OptionalPricingGroupId": 1,
    125: Verweis auf Preisgruppe 1
    ...
    869
          "SectionList": [
    870
            {
    871
              "SewerSystemOfSection": {
    872
                "SewerSystemId": 1,
    873
                "SewerSystemName": "mixed",
    874
                "SewerSystemDescription": "Mischsystem"
    875
              },
    876
              "SectionName": "04M.11105",
    877
              "FromManholeId": 1,
    878
              "FromPipeConnectionId": 1,
    879
              "ToManholeId": 2,
    880
              "ToPipeConnectionId": 1,
    881
              "DeliveryOrder": 0,
    882
              "DeliveryDate": "2025-09-21T18:28:14.7044038+02:00",
    883
              "OptionalPricingGroupId": null,
    883: Nicht verpreist
    ...
    1138
          "AccessoryTypeList": [
    1138: Zubehörliste
    1139
            {
    1140
              "AccessoryTypeId": 1,
    1141
              "AccessoryTypeName": "Manschette DN500",
    1142
              "AccessoryTypeDescription": "ohne Beschreibung",
    1143
              "AccessoryList": [
    1144
                {
    1145
                  "AccessoryId": 1,
    1145: Zubehör 1
    1146
                  "AccessoryLocationEast": 0,
    1147
                  "AccessoryLocationNorth": 0,
    1148
                  "AccessoryLocationHeight": 0,
    1149
                  "AccessoryNumber": 1,
    1149: Zubehöranzahl
    1150
                  "OptionalPricingGroupId": 2
    1150: Verweis auf Preisgruppe 2
    1151
                }
    1152
              ]
    1153
            }
    1154
          ],
    1155
          "PricingGroupList": [
    1155: Preisgruppenliste (Summe aller Price-Einträge ergibt den Angebotspreis
    1156
            {
    1156: Erste Preisgruppe (je Instanz eine Preisgruppe)
    1157
              "PricingGroupId": 1,
    1158
              "PricingGroupName": "Pauschalpreis Schacht",
    1159
              "PricingGroupDescription": "",
    1160
              "PricingListOfPricingGroup": [
    1161
                {
    1162
                  "PricingType": {
    1162: Preistyp. Siehe Referenztabelle in https://www.sewerorder.org/ref/V1_0/sewerorder.TypeRef.PricingType.json
    1163
                    "PricingTypeId": 1,
    1164
                    "PricingTypeName": "Selling price",
    1165
                    "PricingTypeDescription": "Verkaufspreis"
    1166
                  },
    1167
                  "PricingId": 1,
    1167: Erster Preisbestandteil einer Preisgruppe
    1168
                  "Price": 999.99
    1169
                }
    1170
              ]
    1171
            },
    1172
            {
    1172: Zweite Preisgruppe (je Instanz eine Preisgruppe)
    1173
              "PricingGroupId": 2,
    1174
              "PricingGroupName": "Pauschalpreis Zubehör",
    1175
              "PricingGroupDescription": "",
    1176
              "PricingListOfPricingGroup": [
    1177
                {
    1178
                  "PricingType": {
    1179
                    "PricingTypeId": 1,
    1180
                    "PricingTypeName": "Selling price",
    1181
                    "PricingTypeDescription": "Verkaufspreis"
    1182
                  },
    1183
                  "PricingId": 1,
    1184
                  "Price": 99.99
    1185
                }
    1186
              ]
    1187
            }
    1188
          ]
    1189
        }
    1190
      }
    1191
    }

    Mitwirkende

    An der Erstellung von SewerOrder haben mitgewirkt:

  • Stefan Schemionek, FBS, stefan.schemionek@fbs-beton.de
  • Mario Bodenbender, Finger Baustoffe GmbH, m.bodenbender@finger-beton.de
  • Frank Kocher, ISL-Kocher, fk@isl-kocher.de
  • Bernhard Simon Bock, bsbock@bock-nw.de

  • Datenschutzerklärung

    Es werden durch diese Homepage keine Daten erhoben oder gespeichert.
    Es werden auf dieser Homepage keine Cookies verwendet.

    Impressum

    Angaben gemäß § 5 TMG und redaktionelle Verantwortlichkeit:

    Bundesfachverband Betonkanalsysteme e.V. (FBS)
    Egermannstraße 1
    53359 Rheinbach
    Telefon: 02226 / 885 999 0
    Mail: info@fbs-beton.de