🔗 Lidmaatschappen - Als GI wil ik de lidmaatschappen van een vereniging beheren

🔗 Lidmaatschappen - Als GI wil ik de lidmaatschappen van een vereniging beheren

Beschrijving

Korte beschrijving van de mogelijkheden

Beheren van de dataset lidmaatschappen

  • toevoegen van een nieuw lidmaatschap

    • POST <beheerURL>/v1/verenigingen/<vCode>/lidmaatschappen

  • verwijderen van een lidmaatschap

    • DEL <beheerURL>/v1/verenigingen/<vCode>/lidmaatschappen/<lidmaatschapId>

  • wijzigen van een lidmaatschap

    • PATCH <beheerURL>/v1/verenigingen/<vCode>/lidmaatschappen/<lidmaatschapId>

Merk op: Bij het registreren van een nieuwe vereniging, kan je geen lidmaatschappen toevoegen.

Te definiëren via de API

Een lidmaatschap is een relatie tussen 2 verenigingen in het verenigingsregister:

  • de lidvereniging: de vereniging die lid is van de andere vereniging

  • de andere vereniging: dit kan eender welke andere vereniging zijn, ongeacht het type

Via de API worden de lidmaatschappen telkens beheerd via de lidvereniging. De andere vereniging wordt hierbij enkel gerefereerd. Bij de gegevens van de andere vereniging ga je dus niets zien.

Van dataset lidmaatschappen moet je bij het toevoegen van een nieuw lidmaatschap de andereVereniging opgeven. De andere velden van, tot, identificatie en beschrijving zijn optioneel ook mee te geven.

Bij wijzigen kan je enkel de optionele velden aanpassen (van, tot, identificatie en beschrijving).

Business regels

Wat is mogelijk:

  • Je kan lid zijn van meerdere andere verenigingen

  • Je kan voor dezelfde andere vereniging meerdere lidmaatschappen ingeven, zolang deze qua tijdsspanne niet met elkaar overlappen

  • elk type vereniging kan lid zijn van elk type vereniging. Het meest voorkomende is echter dat de andereVereniging een KBO vereniging is (meer bepaald een vzw), maar dat wordt niet afgedwongen door de API. We staan dus ook toe dat een lidmaatschap met een VZER wordt ingevoerd.

Wat wordt gevalideerd:

Regel

Geldig bij toevoegen

Geldig bij wijzigen

Geldig bij verwijderen

Regel

Geldig bij toevoegen

Geldig bij wijzigen

Geldig bij verwijderen

andereVereniging moet een bestaande vCode zijn

X

 

 

andereVereniging mag niet verwijderd zijn

X

 

 

andereVereniging mag niet gelijk zijn aan de lidvereniging (je kan geen lid zijn van jezelf)

X

 

 

als van is ingevuld, dan moet het een geldige datum zijn

X

X

 

als tot is ingevuld, dan moet het een geldige datum zijn

X

X

 

als van en tot ingevuld zijn, dan moet van <= tot

X

X

 

op hetzelfde moment in tijd kan je nooit 2x lid zijn van dezelfde andereVereniging (zie verder)

X

X

 

lidmaatschapId moet bestaan

 

X

X

Je kan geen lidmaatschappen toevoegen aan een verwijderde vereniging

X

 

 

Gedetailleerde omschrijving

Betekenis van de velden van en tot bij definitie van een lidmaatschap

De velden van en tot definiëren de tijdsspanne waarin het lidmaatschap geldig is. Deze datums zijn optioneel en mogen zowel in het verleden als in de toekomst gedefinieerd worden. Als beide gedefinieerd zijn, dan moet van <= tot.

van is te interpreteren als de eerste dag van geldigheid (inclusief) - als dit veld niet is ingevuld, dan veronderstellen we dat dit lidmaatschap al van in het begin geldig was

tot is te interpreteren als de laatste dag van geldigheid (inclusief) - als dit veld niet is ingevuld, dan veronderstellen we dat dit lidmaatschap tot in der eeuwigheid geldig is

Voorbeeld: een lidmaatschap dat het hele jaar 2024 geldig is heeft van=2024-01-01 en tot=2024-12-31

Geen overlappende lidmaatschappen voor dezelfde vereniging

Je kan 2 lidmaatschappen voor dezelfde andereVereniging definiëren, maar dan mogen ze qua tijdsspanne niet overlappen.

Hierbij moet je ook rekening houden dat een lege waarde van geïnterpreteerd wordt als “sinds het begin” en een lege waarde tot als “tot het eind”

Visuele voorstelling van wat er wel of niet overlapt, afhankelijk of van / tot al dan niet ingevuld zijn

draw.io Diagram

Verwerking

Na correcte verwerking van de aanvraag:

  • wordt bij toevoegen van een lidmaatschap een id gegenereerd voor dit nieuwe lidmaatschap. Dit lidmaatschapId wordt ook terug gegeven in de response headers