S-10c · Close the ZGW zaak on document-timeout expiry #106

Closed
opened 2026-07-20 09:50:29 +00:00 by not · 0 comments
Contributor

Carved off from #103 (S-10b) — kept out to keep the diploma-upload PR focused (§13). ADR-0017 originally deferred this item to S-10b; re-deferred here.

Outcome: when a registration's 30-day document term lapses (S-10a RegistratieVerlopen), the ZGW zaak is set to a cancellation status (not just the domain aggregate → Verlopen). Today the expiry worker (ExpireRegistrationWorker/RegistratieVerlopenProcessor) only expires the aggregate; the zaak stays open.

In scope

  • Infra: seed a distinct "verlopen/geannuleerd" statustype + resultaattype in infra/openzaak/seed_catalogus.py (the current SetZaakToEindstatusAsync picks the eindstatus + first resultaattype, meaning "approved").
  • ACL: a new gateway method to set the zaak to the cancellation status/resultaat (distinct from the approval eindstatus) + ACL endpoint.
  • Domain: the timeout worker calls the ACL to close the zaak on expiry (inject IAclClient into the expiry path).
  • Verify: the timeout branch asserts the zaak reaches the cancellation status live.

Depends on: #103 (S-10b — the ACL Documenten/infra groundwork).

Carved off from #103 (S-10b) — kept out to keep the diploma-upload PR focused (§13). ADR-0017 originally deferred this item to S-10b; re-deferred here. **Outcome:** when a registration's 30-day document term lapses (S-10a `RegistratieVerlopen`), the ZGW **zaak** is set to a cancellation status (not just the domain aggregate → `Verlopen`). Today the expiry worker (`ExpireRegistrationWorker`/`RegistratieVerlopenProcessor`) only expires the aggregate; the zaak stays open. **In scope** - Infra: seed a distinct "verlopen/geannuleerd" **statustype** + **resultaattype** in `infra/openzaak/seed_catalogus.py` (the current `SetZaakToEindstatusAsync` picks the eindstatus + first resultaattype, meaning "approved"). - ACL: a new gateway method to set the zaak to the cancellation status/resultaat (distinct from the approval eindstatus) + ACL endpoint. - Domain: the timeout worker calls the ACL to close the zaak on expiry (inject `IAclClient` into the expiry path). - Verify: the timeout branch asserts the zaak reaches the cancellation status live. **Depends on:** #103 (S-10b — the ACL Documenten/infra groundwork).
not added this to the Iteration 2 — Flow Completeness milestone 2026-07-20 09:50:29 +00:00
not added the type:slicearea:aclarea:domainarea:infra labels 2026-07-20 09:50:52 +00:00
not closed this issue 2026-07-21 13:58:16 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eho/register-referentie#106