Gebruik van de edit-API's: Gebouweenheden

Gebruik van de edit-API's: Gebouweenheden

 

 

Statusovergangen

draw.io Diagram
  • gepland: Een gebouweenheid heeft de status gepland als het wordt ingevoerd volgens de afbakeningsdefinities.

  • gerealiseerd: Een gebouweenheid heeft de status gerealiseerd wanneer een geplande gebouweenheid wordt gerealiseerd of wanneer een gebouw met geplande gebouweenheden wordt gerealiseerd.

  • nietGerealiseerd: Een gebouweenheid heeft de status nietGerealiseerd wanneer een ingevoerde gebouweenheid uiteindelijk toch niet werd gerealiseerd.

  • gehistoreerd: Een gebouweenheid heeft de status gehistoreerd wanneer de gebouweenheid niet meer aanwezig is.

Opmerking: een gebouweenheid kan ook verwijderd worden, maar dit wordt niet aanzien als een statusovergang, aangezien dit enkel gebeurt wanneer de gebouweenheid foutief is aangemaakt.

 

In onderstaande tabel worden alle mogelijke statuscombinaties getoond tussen gebouwen en gebouweenheden:

 

Gebouweenheid status

Gebouw status

gepland

gerealiseerd

nietGerealiseerd

gehistoreerd

gepland

-

inAanbouw

-

nietGerealiseerd

-

-

gerealiseerd

gehistoreerd

-

-

In onderstaande tabel worden alle mogelijke statusovergangen bij een gebouw en de invloed op de onderliggende gebouweenheden getoond:

 

Gebouweenheid status

statusovergang gebouw

gepland

gerealiseerd

nietGerealiseerd

gehistoreerd

gepland → inAanbouw (in aanbouw plaatsen)

gepland

-

nietGerealiseerd

gehistoreerd

inAanbouw → gepland (in aanbouw plaatsing corrigeren)

gepland

-

nietGerealiseerd

gehistoreerd

gepland → nietGerealiseerd (niet realiseren)

nietGerealiseerd

-

nietGerealiseerd

gehistoreerd

nietGerealiseerd → gepland (niet-realisering corrigeren)

-

-

nietGerealiseerd

gehistoreerd

inAanbouw → gerealiseerd (realiseren)

gerealiseerd

-

nietGerealiseerd

gehistoreerd

gerealiseerd → inAanbouw (realisering corrigeren)

gepland

gepland

nietGerealiseerd

gehistoreerd

inAanbouw → nietGerealiseerd (niet realiseren)

nietGerealiseerd

-

nietGerealiseerd

gehistoreerd

gerealiseerd → gehistoreerd (slopen)

nietGerealiseerd

gehistoreerd

nietGerealiseerd

gehistoreerd

gehistoreerd → gerealiseerd (sloping corrigeren)

-

-

nietGerealiseerd

gehistoreerd

Business rules en validatieregels endpoints

Overkoepelend

BR_1 Een gebouweenheid met functie gemeenschappelijkDeel wordt automatisch aangemaakt van zodra er maar dan 2 gebouweenheden binnen het gebouw zijn met status gepland of gerealiseerd.

BR_2 De status van een gebouweenheid met functie gemeenschappelijkDeel hangt af van de status van het gebouw:

  • status gebouw = gepland

    • gebouweenheid met functie gemeenschappelijkDeel = gepland

  • status gebouw = gerealiseerd

    • gebouweenheid met functie gemeenschappelijkDeel = gerealiseerd

BR_3 De positie van een gebouweenheid met functie gemeenschappelijkDeel is steeds de centroïde van het gebouw. De methodeMethode is afgeleidVanObject.

BR_4 Indien er reeds een gehistoreerde of niet gerealiseerde gebouweenheid met functie gemeenschappelijkDeel is binnen het gebouw krijgt dit een correctie naar de status zoals hierboven vermeld.

BR_5 Bij het automatisch aanmaken van een gebouweenheid met functie gemeenschappelijkDeel wordt geen automatische koppeling met een adres voorzien.

Plan een gebouweenheid in

API-documentatie

Een decentraal beheerder kan voor een gebouw een gebouweenheid toevoegen volgens de afbakeningsdefinities voor een gebouweenheid binnen een gebouw. Hierdoor worden de gebouweenheden, samen met hun functie en geometriepunt, zichtbaar binnen een gebouw en kan een beheerder een adres koppelen aan deze.

BR_6 Een gebouweenheid moet gepland worden in een geldig gebouw met de status gepland, inAanbouw of gerealiseerd.

BR_7 Bij het plannen van een gebouweenheid is het attribuut positieGeometrieMethode verplicht en bevat het de waarde aangeduidDoorBeheerder of afgeleidVanObject.

BR_8 Bij het plannen van een gebouweenheid is het attribuut afwijkingVastgesteld verplicht en bevat het de waarde true of false.

BR_9 Bij het plannen van een gebouweenheid is het attribuut functie verplicht en bevat het altijd de waarde Niet gekend.

BR_10 Bij het plannen van een gebouweenheid is het attribuut positie verplicht als het attribuut positieGeometriemethode de waarde aangeduidDoorBeheerder heeft en moet het een geldige gml-puntgeometrie zijn.

BR_11 Bij het plannen van een gebouweenheid moet de positie van de gebouweenheid binnen de geometrie van het gebouw liggen.

BR_12 Bij het plannen van een gebouweenheid krijgt de gebouweenheid de status gepland.

BR_13 Bij het plannen van een gebouweenheid krijgt het attribuut positie automatisch de waarde van de centroïde van het gebouw, als het attribuut positieGeometriemethode de waarde afgeleidVanObject heeft.

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Het veld gebouwId/afwijkingVastgesteld/functie/positieGeometrieMethode niet meegegeven / Ongeldige waarde of leeg bij positieGeometrieMethode/afwijkingVastgesteld/functie meegegeven

Error 400

JsonInvalid

Json is not valid.

BR_6 BR_7 BR_8 BR_9

GebouwId leeg of ongeldige waarde meegegeven

Error 400

GebouweenheidGebouwIdNietGekendValidatie

De gebouwId 'gebouwId' is niet gekend in het gebouwenregister.

BR_6

Het veld positie niet/leeg meegegeven

Error 400

GebouweenheidGebouwIdNietGekendValidatie

De verplichte parameter 'positie' ontbreekt.

BR_10

Het veld positie met ongeldige waarde meegegeven

Error 400

GebouweenheidPositieformaatValidatie

De positie is geen geldige gml-puntgeometrie.

BR_10

De nieuwe positie ligt buiten de geometrie van het gebouw

Ticketing error

GebouweenheidOngeldigePositieValidatie

De positie dient binnen de geometrie van het gebouw te liggen.

BR_11

Gehistoreerd of nietGerealiseerd gebouwId meegegeven

Ticketing error

GebouweenheidGebouwIdNietGerealiseerdofGehistoreerd

De gebouwId is niet gerealiseerd of gehistoreerd.

BR_5

Realiseer een gebouweenheid

API-documentatie

Een decentraal beheerder kan een gebouweenheid realiseren als de gebouweenheid wordt toegevoegd aan een reeds gerealiseerd gebouw (bv. door een verbouwing).

De gebouweenheid krijgt de status gerealiseerd.

Daarnaast wordt een gebouweenheid ook gerealiseerd door het de realisering van het gebouw waartoe de gebouweenheid behoort.

BR_14 Een gebouweenheid met de functie gemeenschappelijkDeel kan niet gerealiseerd worden.

BR_15 Een gebouweenheid kan enkel gerealiseerd worden in een gebouw met de status gerealiseerd.

BR_16 Een gebouweenheid kan enkel gerealiseerd worden als het de status gepland heeft.

BR_17 Een gebouweenheid kan enkel gerealiseerd worden als het niet verwijderd is.

BR_18 Bij het realiseren van een gebouweenheid moet een geldige gebouweenheidID meegegeven worden.

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Ongeldig gebouweenheidId meegegeven

Error 400

/

De waarde 'gebouweenheidId' is ongeldig.

BR_18

Onbestaand gebouweenheidId meegegeven

Error 404

/

/

BR_18

Gebouweenheid met functie gemeenschappelijkDeel meegegeven

Ticketing error

GebouweenheidGemeenschappelijkDeel

Deze actie is niet toegestaan op gebouweenheden met functie gemeenschappelijkDeel.

BR_14

Gebouweenheid ligt in gebouw met status gepland/inAanbouw/gehistoreerd/nietGerealiseerd

Ticketing error

GebouwStatusNietInGerealiseerd

Deze actie is enkel toegestaan binnen een gerealiseerd gebouw.

BR_15

Status gebouweenheidId gehistoreerd/nietGerealiseerd

Ticketing error

GebouweenheidGehistoreerdOfNietGerealiseerd

Deze actie is enkel toegestaan op gebouweenheden met status 'gepland'.

BR_16

Verwijderd gebouweenheidId meegegeven

Ticketing error

VerwijderdeGebouweenheid

Verwijderde gebouweenheid.

BR_17

Realiseer een gebouweenheid niet

API-documentatie

Een decentraal beheerder kan een gebouweenheid niet realiseren (bv. door een verbouwing die niet doorgaat). De gebouweenheid krijgt de status nietGerealiseerd.

BR_19 Bij het niet-realiseren van een gebouw krijgen ook alle onderliggende gebouweenheden de status nietGerealiseerd.

BR_20 Bij het niet-realiseren van een gebouweenheid kan het gebeuren dat minder dan 2 gebouweenheden met status gerealiseerd of gepland in een gebouw aanwezig zijn. Op dit moment is de gebouweenheid met functie gemeenschappelijkDeel niet meer relevant en krijgt dit de status gehistoreerd of nietGerealiseerd afhankelijk van zijn vorige status (respectievelijk inGebruik of gepland).

BR_21 Bij het niet-realiseren van een gebouweenheid worden de adreskoppelingen automatisch verwijderd.

BR_22 Een gebouweenheid met de functie gemeenschappelijkDeel kan niet niet-gerealiseerd worden.

BR_23 Een gebouweenheid kan enkel niet-gerealiseerd worden als het de status gepland heeft.

BR_24 Een gebouweenheid kan enkel niet-gerealiseerd worden als het niet verwijderd is.

BR_25 Bij het niet-realiseren van een gebouweenheid moet een geldige gebouweenheidID meegegeven worden.

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Ongeldig gebouweenheidId meegegeven

Error 400

/

De waarde 'gebouweenheidId' is ongeldig.

BR_25

Onbestaand gebouweenheidId meegegeven

Error 404

/

/

BR_25

Gebouweenheid met functie gemeenschappelijkDeel meegegeven

Ticketing error

GebouweenheidGemeenschappelijkDeel

Deze actie is niet toegestaan op gebouweenheden met functie gemeenschappelijkDeel.

BR_22

Status gebouweenheidId gehistoreerd/gerealiseerd

Ticketing error

GebouweenheidGehistoreerdOfGerealiseerd

Deze actie is enkel toegestaan op gebouweenheden met status 'gepland'.

BR_23

Verwijderd gebouweenheidId meegegeven

Ticketing error

VerwijderdeGebouweenheid

Verwijderde gebouweenheid.

BR_24

Hef een gebouweenheid op

API-documentatie

Een decentraal beheerder kan een gebouweenheid in de status inGebruik opheffen als het niet meer aanwezig is. De gebouweenheid krijgt dan de status gehistoreerd.

BR_26 Bij het opheffen van een gebouweenheid worden de adreskoppelingen automatisch verwijderd.

BR_27 Bij het opheffen van een gebouweenheid kan het gebeuren dat minder dan 2 gebouweenheden met status gerealiseerd of gepland in een gebouw aanwezig zijn. Op dit moment is de gebouweenheid met functie gemeenschappelijkDeel niet meer relevant en krijgt dit de status gehistoreerd.

BR_28 Een gebouweenheid met de functie gemeenschappelijkDeel kan niet opgeheven worden.

BR_29 Een gebouweenheid kan enkel opgeheven worden in een gebouw met de status gepland, inAanbouw of gerealiseerd.

Opmerking: in een gebouw met status nietGerealiseerd of gehistoreerd kunnen geen gerealiseerde gebouweenheden zitten, waardoor deze validatie eigenlijk overbodig is.

BR_30 Een gebouweenheid kan enkel opgeheven worden als het de status gerealiseerd heeft.

BR_31 Een gebouweenheid kan enkel opgeheven worden als het niet verwijderd is.

BR_32 Bij het opheffen van een gebouweenheid moet een geldige gebouweenheidID meegegeven worden.

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Validatie

Soort error

ErrorCode

ErrorMessage

Business rules

Ongeldig gebouweenheidId meegegeven

Error 400

/

De waarde 'gebouweenheidId' is ongeldig.

BR_32

Onbestaand gebouweenheidId meegegeven

Error 404

/

/

BR_32

Gebouweenheid met functie gemeenschappelijkDeel meegegeven

Ticketing error

GebouweenheidGemeenschappelijkDeel

Deze actie is niet toegestaan op gebouweenheden met functie gemeenschappelijkDeel.

BR_28

Gebouweenheid ligt in gebouw met status gehistoreerd/nietGerealiseerd

Ticketing error