# Hoe het werkt

## De levenscyclus van een gebouw op Magma

### 1. Eigenaar maakt de Digital Twin Token aan

Een gebouweigenaar (of hun vastgoedbeheerder) abonneert zich en maakt de DTT® voor zijn gebouw aan. Dit omvat:

* Het invoeren van basisgebouwinformatie: naam, type, adres, vloeroppervlak, bouwjaar, eigenaargegevens en btw
* Optioneel het specificeren van 3D-modelvereisten voor elk gebouwniveau
* Het beoordelen van de prijsofferte en het verbinden van een **gebouwwallet** (Venly/VeChain)
* Het voltooien van de Stripe-betaling om het abonnement te activeren

Het gebouw begint met de status **Draft** en gaat over naar **Not Minted** zodra de betaling is bevestigd.

### 2. Betrokkenen worden uitgenodigd

De eigenaar nodigt elke professional uit die betrokken is bij de levenscyclus van het gebouw. Elke uitnodiging maakt een **Stakeholderakkoord** aan dat de rol en machtigingen van de persoon voor dit gebouw definieert. Soorten betrokkenen variëren van architecten en constructieingenieurs tot huurders, waarnemers en financiële instellingen — meer dan 50 specifieke types in 8 categorieën.

Uitnodigingen arriveren per e-mail met een link om te accepteren of te weigeren. Na acceptatie krijgt de betrokkene toegang tot het gebouw op basis van zijn rol.

### 3. Gegevens worden bijgedragen

Afhankelijk van hun rol dragen betrokkenen gegevens bij via drie interfaces:

**Data Room** — Documenten uploaden naar het juiste niveau en de juiste categorie. Het platform toont welke documenttypen verwacht worden voor uw rol en markeert welke er ontbreken. Elk documenttype heeft aangewezen uploaderrollen en validatorrollen, gedefinieerd per documenttype.

**BIM 3D-viewer** — Ingenieurs en architecten uploaden IFC-modellen voor hun gebouwniveau. Elk object in het model kan vervolgens worden verrijkt met gestructureerde data: identificatie, materialen, afmetingen, conditie, nalevingsbeoordelingen, levenscyclusdatums, financiële data, IoT-verbindingen en meer.

**Scan Viewer** — Landmeters en diagnostici uploaden E57-puntenwolkscans. De AI-pipeline segmenteert de scan automatisch, classificeert elk element en koppelt elementen waar mogelijk aan bestaande BIM-objecten.

### 4. Validators keuren de gegevens goed

Elk stuk data doorloopt een **validatieworkflow**. Voor documenten heeft elk documenttype een primaire validator, een optionele secundaire validator en een optionele tertiaire validator. Alle geconfigureerde validators moeten goedkeuren — een enkele afwijzing stuurt het document terug naar de uploader met een reden.

Voor BIM-datavelden activeert elke wijziging een wijzigingsverzoek. Aangewezen validators beoordelen de voorgestelde waarde en stemmen om goed te keuren of af te wijzen. Alle validators moeten het eens zijn.

Gevalideerde data krijgt de status **Validated** en komt in aanmerking voor minting.

### 5. De DTT® wordt gemint

Zodra voldoende gevalideerde data is verzameld, initieert de eigenaar of vastgoedbeheerder de minting. Een 13-staps proces loopt op de blockchain:

* Alle gevalideerde documenten en BIM-velden worden gesynchroniseerd naar de chain
* Elk item krijgt een token-ID binnen het ERC-1155 DTT®-contract van het gebouw
* De cryptografische hash van elke documentversie wordt toegevoegd aan de hash-array van het token in het HashStorage-contract
* MRT-tokenbeloningen worden berekend voor elke bijdrager en validator
* Beloningen worden gefinancierd en overgedragen aan de wallets van betrokkenen
* Het DTT®-niveau wordt verhoogd

Het gebouw ontvangt een uniek blockchain-adres. Zijn volledige datageschiedenis is nu permanent en openbaar verifieerbaar.

### 6. De DTT® evolueert

Gebouwen veranderen. Nieuwe huurders trekken in, apparatuur wordt vervangen, certificeringen worden verlengd. Elke update volgt dezelfde workflow: uploaden → valideren → minting. Elke nieuwe hash wordt toegevoegd aan het bestaande token — de volledige geschiedenis wordt bewaard en nooit overschreven.

Documenten met geldigheidsperioden (zoals verzekeringspolissen of diagnostische rapporten die jaarlijks verlopen) genereren taken die betrokkenen herinneren aan het uploaden van vernieuwde versies vóór het verlopen.

***

## Hoe validatie werkt

### Documentvalidatie

```
Uploaden → PENDING_VALIDATION
  → Alle validators keuren goed → VALIDATED → in aanmerking voor minting
  → Een validator wijst af → REQUIRING_ACTION → uploader corrigeert en dient opnieuw in
      → Gecorrigeerde versie → PENDING_VALIDATION (cyclus herhaalt zich)
```

Na minting: MINTED\
Na het verstrijken van tijd: EXPIRED (genereert een UPDATE\_EXPIRED\_DOCUMENT-taak)\
Na validatie van een nieuwe versie: REPLACED of CORRECTED

### BIM-veldvalidatie

```
Gebruiker bewerkt veld → Wijzigingsverzoek aangemaakt → validators gewaarschuwd
  → Alle validators keuren goed → veld PENDING_TO_MINT → gemint = on-chain record
  → Een validator wijst af → UPDATE_REJECTED_3D_MODEL_FIELD-taak toegewezen aan aanvrager
```

***

## Hoe de blockchain gegevens vastlegt

Magma gebruikt drie slimme contracten per gebouw op de VeChain-blockchain:

1. **DTT Factory** — Een enkel gedeeld contract dat nieuwe DTT-contracten inzet wanneer gebouwen worden aangemaakt
2. **DTT Contract (ERC-1155)** — Één per gebouw. Bevat meerdere token-ID's — één per documentbestandversie en één per BIM-objectversie
3. **HashStorage Contract** — Één per gebouw, gekoppeld aan de DTT. Slaat een uitsluitend-uitbreidbare array van hashes op per token-ID

Wanneer u een tweede versie van een document uploadt, wordt een nieuwe hash toegevoegd aan de array van hetzelfde token-ID. De hash van de originele versie wordt nooit overschreven. U kunt elke historische versie verifiëren door de hash op te vragen op de indexpositie.

Het DTT®-adres is openbaar. Iedereen kan `/dtt/[adres]` bezoeken om de volledige tokenhiërarchie van het gebouw, alle geminte items en hun on-chain hashes te bekijken.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mymagma.com/magma-documentation/nl/introductie/how-it-works.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
