
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:
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

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.
Ablauf bei SewerOrder

*.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
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 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
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).
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
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.
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).
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).
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
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
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
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
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
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 sind unter www.sewerorder.org/ref abgelegt.
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
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).
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
Herstellerspezifische Schlüsseltabellen (hier FBS)
Inhalt von https://sewerorder.org/ref/V1_0/00491/sewerorder.PipeRef.PipeType.json
SewerOrder auf GitHub
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:
*) 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
Datenbankimport
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.
Beispiele
Beispiel 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
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
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
Datenschutzerklärung
Es werden auf dieser Homepage keine Cookies verwendet.
Impressum
Bundesfachverband Betonkanalsysteme e.V. (FBS)
Egermannstraße 1
53359 Rheinbach
Telefon: 02226 / 885 999 0
Mail: info@fbs-beton.de