Skip to content

Example - Cross Agencies

This example shows two things Arbeidsflate is built for:

  • One inbox for many agencies. Dialogs from seven service owners sit side by side in the same list.
  • One dialog per process. Each dialog holds the whole case, from application and receipt through requests for information to the decision. It is not a pile of separate messages.

Kari Hansen is the general manager (daglig leder) of Sagene Bakeri AS, a new bakery and café in Oslo. Martin Haugen chairs the board, and Jonas Lie works there. The inbox follows the business through the life event “starte og drive en bedrift” (starting and running a business), from registration to day-to-day operations.

#Service ownerDialogStatusWhat happens in the dialog
1BrønnøysundregistreneRegistrering av nytt aksjeselskapCompletedKari submits Samordnet registermelding. Brønnøysundregistrene asks for a missing signature, Martin sends a corrected founding document, and the company is registered. The VAT part is passed on to Skatteetaten.
2SkatteetatenRegistrering i MerverdiavgiftsregisteretCompletedThe application arrives from Brønnøysundregistrene. Skatteetaten asks for documentation, Kari sends the lease and invoices, and the business is registered.
3Oslo kommuneSøknad om serveringsbevillingCompletedApplication, receipt, statements from the police and Skatteetaten, a request for the etablererprøve certificate, the reply, and the decision.
4MattilsynetInspeksjonsrapport etter tilsynRequires attentionRegistration of the food business, confirmation, an inspection, and an order to fix allergen labelling with a deadline.
5Statens vegvesenEierskifte av varebil EL 48213CompletedThe seller reports a change of ownership, Kari confirms the purchase, and the change is registered.
6SkatteetatenA-melding for previous monthCompletedThe payroll system submits the a-melding, and Skatteetaten approves it. The data is shared with NAV and SSB.
7NAVSykepenger for Jonas LieRequires attentionSick note, application for sick pay, and a request for an inntektsmelding with a deadline.
8SSBOmsetningsstatistikk for previous quarterRequires attentionThe business has been selected to report turnover.
9Oslo kommuneSøknad om uteserveringAwaitingApplication and receipt. The case is being processed.

Several dialogs refer to each other, which shows the process crossing agency boundaries: Brønnøysundregistrene passes the VAT application to Skatteetaten, Oslo kommune obtains statements from the police and Skatteetaten, and the a-melding is shared with NAV and SSB.

The inbox for Sagene Bakeri AS. Three dialogs need action and have deadlines. The rest are in progress or completed, and each shows how many transmissions were sent and received.

The inbox for Sagene Bakeri AS with dialogs from NAV, Mattilsynet, SSB, Oslo kommune and Skatteetaten

The serveringsbevilling dialog. The decision is at the top, and the timeline below holds the whole case: application, receipt, request for documentation, reply and decision.

The dialog for the serveringsbevilling application, with the decision and the full timeline of transmissions

Run pnpm dev in packages/frontend and open:

http://localhost:5173/?mock=true&playwrightId=cross-agency-process&party=urn%3Aaltinn%3Aorganization%3Aidentifier-no%3A313507648

The party parameter selects Sagene Bakeri AS. Without it the app opens Kari Hansen’s personal account, which has no dialogs.

All dates are relative to today, so deadlines stay in the future and the list is grouped into the last few months whenever you open it. The dates in the screenshots above are therefore fixed to the day they were taken.

The dataset lives in packages/frontend/src/mocks/data/stories/cross-agency-process/:

FileContent
dialogs.tsThe nine dialogs as they appear in the list
details.tsTransmissions, activities, attachments, actions and main content for each dialog
parties.ts, profile.tsKari Hansen and Sagene Bakeri AS
services.tsService resources for the filter
shared.tsActors, dialog IDs, the timeline and date helpers

Other stories only provide the list data, and the details page falls back to generic test content. A story can also export details from a details.ts file, keyed by dialog ID (type MockDialogDetails in src/mocks/data/base/helper.ts). The mock handler then uses those transmissions, activities, attachments and actions, and serves mainContentMarkdown as the dialog’s main content. Stories without details.ts behave as before.

To retake the screenshots, open the URL above in a browser window 1440 pixels wide.