{"configuration":{"scope":"SoftwareSystem"},"description":"Unified Architecture","documentation":{},"id":3,"lastModifiedAgent":"structurizr-onpremises/dsl-editor/fd0e5e1c-0eeb-4d83-be2f-fd2b1ed87eda","lastModifiedDate":"2026-05-18T15:30:25Z","lastModifiedUser":"marxact","model":{"people":[{"description":"A UNI-Cloud user who wants to export survey data to a file or external destination.","id":"1","location":"Unspecified","name":"User","properties":{"structurizr.dsl.identifier":"user"},"relationships":[{"description":"Starts wizard, fills steps, submits export","destinationId":"2","id":"14","properties":{"structurizr.dsl.identifier":"4ca1aa65-8d03-4625-8e5d-5cd829ff65a7"},"sourceId":"1","tags":"Relationship","technology":"HTTPS"}],"tags":"Element,Person"}],"softwareSystems":[{"description":"UNI-Cloud web application. Hosts the export UI and the live PDF preview canvas.","documentation":{},"id":"2","location":"Unspecified","name":"Frontend","properties":{"structurizr.dsl.identifier":"frontend"},"relationships":[{"description":"Manages wizard state, requests preview, polls status","destinationId":"7","id":"15","properties":{"structurizr.dsl.identifier":"c2233a9b-af47-45cc-841f-94c8c06507c9"},"sourceId":"2","tags":"Relationship","technology":"REST / HTTPS"},{"description":"Manages wizard state, requests preview, polls status","destinationId":"6","id":"16","linkedRelationshipId":"15","sourceId":"2","technology":"REST / HTTPS"}],"tags":"Element,Software System,External"},{"description":"Provides survey features, layers, project data.","documentation":{},"id":"3","location":"Unspecified","name":"Survey Service","properties":{"structurizr.dsl.identifier":"surveyservice"},"tags":"Element,Software System,External"},{"description":"Object storage for rendered export artifacts.","documentation":{},"id":"4","location":"Unspecified","name":"UNI-Storage","properties":{"structurizr.dsl.identifier":"unistorage"},"tags":"Element,Software System,External"},{"documentation":{},"id":"5","location":"Unspecified","name":"Telekom","properties":{"structurizr.dsl.identifier":"telekom"},"tags":"Element,Software System,External"},{"containers":[{"description":"HTTP entry point and composition root. Registers all format modules and infrastructure into DI. Routes commands via Wolverine.","documentation":{},"id":"7","name":"API","properties":{"structurizr.dsl.identifier":"api"},"relationships":[{"description":"Dispatches commands and queries","destinationId":"8","id":"17","properties":{"structurizr.dsl.identifier":"9d73c437-6485-49ed-8d13-ca3623abc283"},"sourceId":"7","tags":"Relationship,Primary","technology":"Wolverine"},{"description":"Registers PDF + GeoPDF formats, step processors, mappers","destinationId":"9","id":"18","properties":{"structurizr.dsl.identifier":"85700ea2-854e-49ac-89e7-9255a701a2f2"},"sourceId":"7","tags":"Relationship"},{"description":"Registers CSV, TXT, Organise CSV formats, step processors, mappers","destinationId":"10","id":"19","properties":{"structurizr.dsl.identifier":"f13b6534-96d3-4550-a416-3e4ab0321711"},"sourceId":"7","tags":"Relationship"},{"description":"Registers DXF, DWG formats, step processors","destinationId":"11","id":"20","properties":{"structurizr.dsl.identifier":"0d7bb239-54bf-4020-bd14-9243b090d2e5"},"sourceId":"7","tags":"Relationship"},{"description":"Registers GeoJSON format","destinationId":"12","id":"21","properties":{"structurizr.dsl.identifier":"7ef5c84e-2fed-4a13-ab63-84e907be6961"},"sourceId":"7","tags":"Relationship"},{"description":"Registers LandXML format","destinationId":"13","id":"22","properties":{"structurizr.dsl.identifier":"2db25cf9-0818-4f49-923e-e967ebad0b67"},"sourceId":"7","tags":"Relationship"}],"tags":"Element,Container,Api","technology":"ASP.NET Core / FastEndpoints / Wolverine"},{"description":"Contains state management, shared entities, business logic and domain events.","documentation":{},"id":"8","name":"Core","properties":{"structurizr.dsl.identifier":"core"},"relationships":[{"description":"Fetches features and elevation data via IExportDataProvider","destinationId":"3","id":"28","properties":{"structurizr.dsl.identifier":"16c0fb48-2912-40f1-9fd0-fff613d24d71"},"sourceId":"8","tags":"Relationship","technology":"MQTT / RabbitMQ"},{"description":"Stores rendered artifacts via IArtifactStore","destinationId":"4","id":"30","properties":{"structurizr.dsl.identifier":"1295970e-460c-4af8-aca2-77e7ee1f5893"},"sourceId":"8","tags":"Relationship","technology":"HTTPS / S3"},{"description":"Delivers GeoJSON exports via TelekomDestination","destinationId":"5","id":"32","properties":{"structurizr.dsl.identifier":"09bd6f0a-a044-4c94-8c18-db301cad0cb8"},"sourceId":"8","tags":"Relationship","technology":"REST / HTTPS"}],"tags":"Element,Container,Core","technology":"C# / Wolverine"},{"description":"PDF and GeoPDF rendering. Template-driven: BoorProfiel,CrossSection and Map&Details.","documentation":{},"id":"9","name":"PDF Module","properties":{"structurizr.dsl.identifier":"pdf"},"relationships":[{"description":"Implements IExportFormat, IStepProcessor, IStepMapper","destinationId":"8","id":"23","properties":{"structurizr.dsl.identifier":"f3d63ce6-4132-474b-898f-4be705cf1f74"},"sourceId":"9","tags":"Relationship"}],"tags":"Element,Container,FormatModule","technology":"C#"},{"description":"CSV, TXT, and Organise CSV. CSV and TXT share configurable delimiter and column selection. Organise CSV uses a fixed schema.","documentation":{},"id":"10","name":"CSV Module","properties":{"structurizr.dsl.identifier":"csv"},"relationships":[{"description":"Implements IExportFormat, IStepProcessor, IStepMapper","destinationId":"8","id":"24","properties":{"structurizr.dsl.identifier":"b0863baf-6dd2-47b6-9c96-88414cb32f4a"},"sourceId":"10","tags":"Relationship"}],"tags":"Element,Container,FormatModule","technology":"C#"},{"description":"DXF and DWG rendering. Optional NLCS++ coding convention applied as a modifier on the output layer structure.","documentation":{},"id":"11","name":"CAD Module","properties":{"structurizr.dsl.identifier":"cad"},"relationships":[{"description":"Implements IExportFormat, IStepProcessor, IStepMapper","destinationId":"8","id":"25","properties":{"structurizr.dsl.identifier":"f8082ae2-b249-4f9f-bb71-b9c9af7979df"},"sourceId":"11","tags":"Relationship"}],"tags":"Element,Container,FormatModule","technology":"C# / netDxf"},{"description":"GeoJSON feature collection rendering. Used by Telekom destination and for map preview.","documentation":{},"id":"12","name":"GeoJSON Module","properties":{"structurizr.dsl.identifier":"geojson"},"relationships":[{"description":"Implements IExportFormat","destinationId":"8","id":"26","properties":{"structurizr.dsl.identifier":"57bc3d90-540c-4355-bd92-7fd060771daa"},"sourceId":"12","tags":"Relationship"}],"tags":"Element,Container,FormatModule","technology":"C#"},{"description":"LandXML surfaces, alignments and points for survey software interchange.","documentation":{},"id":"13","name":"LandXML Module","properties":{"structurizr.dsl.identifier":"landxml"},"relationships":[{"description":"Implements IExportFormat","destinationId":"8","id":"27","properties":{"structurizr.dsl.identifier":"5fc983b4-1be3-4301-891d-375dd100e4ea"},"sourceId":"13","tags":"Relationship"}],"tags":"Element,Container,FormatModule","technology":"C# / NetTopologySuite"}],"description":"Converts system data in multiple file formats, and delivers them to configured destinations.","documentation":{},"group":"Export Service","id":"6","location":"Unspecified","name":"Export Service","properties":{"structurizr.dsl.identifier":"exportservice"},"relationships":[{"description":"Fetches features and elevation data via IExportDataProvider","destinationId":"3","id":"29","linkedRelationshipId":"28","sourceId":"6","technology":"MQTT / RabbitMQ"},{"description":"Stores rendered artifacts via IArtifactStore","destinationId":"4","id":"31","linkedRelationshipId":"30","sourceId":"6","technology":"HTTPS / S3"},{"description":"Delivers GeoJSON exports via TelekomDestination","destinationId":"5","id":"33","linkedRelationshipId":"32","sourceId":"6","technology":"REST / HTTPS"}],"tags":"Element,Software System"}]},"name":"Unified Exports","properties":{"structurizr.dsl":"d29ya3NwYWNlICJVbmlmaWVkIEV4cG9ydHMiICJVbmlmaWVkIEFyY2hpdGVjdHVyZSIgewoKICAgIG1vZGVsIHsKCgogICAgICAgIHVzZXIgPSBwZXJzb24gIlVzZXIiICJBIFVOSS1DbG91ZCB1c2VyIHdobyB3YW50cyB0byBleHBvcnQgc3VydmV5IGRhdGEgdG8gYSBmaWxlIG9yIGV4dGVybmFsIGRlc3RpbmF0aW9uLiIKCiAgICAgICAgIyDilIDilIAgRXh0ZXJuYWwgc3lzdGVtcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIAKICAgICAgICBmcm9udGVuZCA9IHNvZnR3YXJlc3lzdGVtICJGcm9udGVuZCIgIlVOSS1DbG91ZCB3ZWIgYXBwbGljYXRpb24uIEhvc3RzIHRoZSBleHBvcnQgVUkgYW5kIHRoZSBsaXZlIFBERiBwcmV2aWV3IGNhbnZhcy4iICJFeHRlcm5hbCIKCiAgICAgICAgc3VydmV5c2VydmljZSA9IHNvZnR3YXJlc3lzdGVtICJTdXJ2ZXkgU2VydmljZSIgIlByb3ZpZGVzIHN1cnZleSBmZWF0dXJlcywgbGF5ZXJzLCBwcm9qZWN0IGRhdGEuIiAiRXh0ZXJuYWwiCgogICAgICAgIHVuaXN0b3JhZ2UgPSBzb2Z0d2FyZXN5c3RlbSAiVU5JLVN0b3JhZ2UiICJPYmplY3Qgc3RvcmFnZSBmb3IgcmVuZGVyZWQgZXhwb3J0IGFydGlmYWN0cy4iICJFeHRlcm5hbCIKCiAgICAgICAgdGVsZWtvbSA9IHNvZnR3YXJlc3lzdGVtICJUZWxla29tIiAiIiAiRXh0ZXJuYWwiCgoKICAgICAgICBncm91cCAiRXhwb3J0IFNlcnZpY2UiIHsKICAgICAgICAgICAgZXhwb3J0c2VydmljZSA9IHNvZnR3YXJlc3lzdGVtICJFeHBvcnQgU2VydmljZSIgIkNvbnZlcnRzIHN5c3RlbSBkYXRhIGluIG11bHRpcGxlIGZpbGUgZm9ybWF0cywgYW5kIGRlbGl2ZXJzIHRoZW0gdG8gY29uZmlndXJlZCBkZXN0aW5hdGlvbnMuIiB7CgogICAgICAgICAgICAgICAgYXBpID0gY29udGFpbmVyICJBUEkiICJIVFRQIGVudHJ5IHBvaW50IGFuZCBjb21wb3NpdGlvbiByb290LiBSZWdpc3RlcnMgYWxsIGZvcm1hdCBtb2R1bGVzIGFuZCBpbmZyYXN0cnVjdHVyZSBpbnRvIERJLiBSb3V0ZXMgY29tbWFuZHMgdmlhIFdvbHZlcmluZS4iICJBU1AuTkVUIENvcmUgLyBGYXN0RW5kcG9pbnRzIC8gV29sdmVyaW5lIiAiQXBpIgoKICAgICAgICAgICAgICAgIGNvcmUgPSBjb250YWluZXIgIkNvcmUiICJDb250YWlucyBzdGF0ZSBtYW5hZ2VtZW50LCBzaGFyZWQgZW50aXRpZXMsIGJ1c2luZXNzIGxvZ2ljIGFuZCBkb21haW4gZXZlbnRzLiIgIkMjIC8gV29sdmVyaW5lIiAiQ29yZSIKCiAgICAgICAgICAgICAgICBwZGYgPSBjb250YWluZXIgIlBERiBNb2R1bGUiICJQREYgYW5kIEdlb1BERiByZW5kZXJpbmcuIFRlbXBsYXRlLWRyaXZlbjogQm9vclByb2ZpZWwsQ3Jvc3NTZWN0aW9uIGFuZCBNYXAmRGV0YWlscy4iICJDIyIgIkZvcm1hdE1vZHVsZSIKCiAgICAgICAgICAgICAgICBjc3YgPSBjb250YWluZXIgIkNTViBNb2R1bGUiICJDU1YsIFRYVCwgYW5kIE9yZ2FuaXNlIENTVi4gQ1NWIGFuZCBUWFQgc2hhcmUgY29uZmlndXJhYmxlIGRlbGltaXRlciBhbmQgY29sdW1uIHNlbGVjdGlvbi4gT3JnYW5pc2UgQ1NWIHVzZXMgYSBmaXhlZCBzY2hlbWEuIiAiQyMiICJGb3JtYXRNb2R1bGUiCgogICAgICAgICAgICAgICAgY2FkID0gY29udGFpbmVyICJDQUQgTW9kdWxlIiAiRFhGIGFuZCBEV0cgcmVuZGVyaW5nLiBPcHRpb25hbCBOTENTKysgY29kaW5nIGNvbnZlbnRpb24gYXBwbGllZCBhcyBhIG1vZGlmaWVyIG9uIHRoZSBvdXRwdXQgbGF5ZXIgc3RydWN0dXJlLiIgIkMjIC8gbmV0RHhmIiAiRm9ybWF0TW9kdWxlIgoKICAgICAgICAgICAgICAgIGdlb2pzb24gPSBjb250YWluZXIgIkdlb0pTT04gTW9kdWxlIiAiR2VvSlNPTiBmZWF0dXJlIGNvbGxlY3Rpb24gcmVuZGVyaW5nLiBVc2VkIGJ5IFRlbGVrb20gZGVzdGluYXRpb24gYW5kIGZvciBtYXAgcHJldmlldy4iICJDIyIgIkZvcm1hdE1vZHVsZSIKCiAgICAgICAgICAgICAgICBsYW5keG1sID0gY29udGFpbmVyICJMYW5kWE1MIE1vZHVsZSIgIkxhbmRYTUwgc3VyZmFjZXMsIGFsaWdubWVudHMgYW5kIHBvaW50cyBmb3Igc3VydmV5IHNvZnR3YXJlIGludGVyY2hhbmdlLiIgIkMjIC8gTmV0VG9wb2xvZ3lTdWl0ZSIgIkZvcm1hdE1vZHVsZSIKCiAgICAgICAgICAgICAgICAjIFVzZXIKICAgICAgICAgICAgICAgIHVzZXIgLT4gZnJvbnRlbmQgIlN0YXJ0cyB3aXphcmQsIGZpbGxzIHN0ZXBzLCBzdWJtaXRzIGV4cG9ydCIgIkhUVFBTIgogICAgICAgICAgICAgICAgZnJvbnRlbmQgLT4gYXBpICJNYW5hZ2VzIHdpemFyZCBzdGF0ZSwgcmVxdWVzdHMgcHJldmlldywgcG9sbHMgc3RhdHVzIiAiUkVTVCAvIEhUVFBTIgoKICAgICAgICAgICAgICAgICMgQVBJIGNvbXBvc2l0aW9uIHJvb3QKICAgICAgICAgICAgICAgIGFwaSAtPiBjb3JlICJEaXNwYXRjaGVzIGNvbW1hbmRzIGFuZCBxdWVyaWVzIiAiV29sdmVyaW5lIiAiUHJpbWFyeSIKICAgICAgICAgICAgICAgIGFwaSAtPiBwZGYgIlJlZ2lzdGVycyBQREYgKyBHZW9QREYgZm9ybWF0cywgc3RlcCBwcm9jZXNzb3JzLCBtYXBwZXJzIgogICAgICAgICAgICAgICAgYXBpIC0+IGNzdiAiUmVnaXN0ZXJzIENTViwgVFhULCBPcmdhbmlzZSBDU1YgZm9ybWF0cywgc3RlcCBwcm9jZXNzb3JzLCBtYXBwZXJzIgogICAgICAgICAgICAgICAgYXBpIC0+IGNhZCAiUmVnaXN0ZXJzIERYRiwgRFdHIGZvcm1hdHMsIHN0ZXAgcHJvY2Vzc29ycyIKICAgICAgICAgICAgICAgIGFwaSAtPiBnZW9qc29uICJSZWdpc3RlcnMgR2VvSlNPTiBmb3JtYXQiCiAgICAgICAgICAgICAgICBhcGkgLT4gbGFuZHhtbCAiUmVnaXN0ZXJzIExhbmRYTUwgZm9ybWF0IgoKICAgICAgICAgICAgICAgICMgRm9ybWF0IG1vZHVsZXMg4oaSIENvcmUgKGltcGxlbWVudCBpbnRlcmZhY2VzKQogICAgICAgICAgICAgICAgcGRmIC0+IGNvcmUgIkltcGxlbWVudHMgSUV4cG9ydEZvcm1hdCwgSVN0ZXBQcm9jZXNzb3IsIElTdGVwTWFwcGVyIgogICAgICAgICAgICAgICAgY3N2IC0+IGNvcmUgIkltcGxlbWVudHMgSUV4cG9ydEZvcm1hdCwgSVN0ZXBQcm9jZXNzb3IsIElTdGVwTWFwcGVyIgogICAgICAgICAgICAgICAgY2FkIC0+IGNvcmUgIkltcGxlbWVudHMgSUV4cG9ydEZvcm1hdCwgSVN0ZXBQcm9jZXNzb3IsIElTdGVwTWFwcGVyIgogICAgICAgICAgICAgICAgZ2VvanNvbiAtPiBjb3JlICJJbXBsZW1lbnRzIElFeHBvcnRGb3JtYXQiCiAgICAgICAgICAgICAgICBsYW5keG1sIC0+IGNvcmUgIkltcGxlbWVudHMgSUV4cG9ydEZvcm1hdCIKCiAgICAgICAgICAgICAgICAjIENvcmUg4oaSIGV4dGVybmFsIHN5c3RlbXMKICAgICAgICAgICAgICAgIGNvcmUgLT4gc3VydmV5c2VydmljZSAiRmV0Y2hlcyBmZWF0dXJlcyBhbmQgZWxldmF0aW9uIGRhdGEgdmlhIElFeHBvcnREYXRhUHJvdmlkZXIiICJNUVRUIC8gUmFiYml0TVEiCiAgICAgICAgICAgICAgICBjb3JlIC0+IHVuaXN0b3JhZ2UgIlN0b3JlcyByZW5kZXJlZCBhcnRpZmFjdHMgdmlhIElBcnRpZmFjdFN0b3JlIiAiSFRUUFMgLyBTMyIKICAgICAgICAgICAgICAgIGNvcmUgLT4gdGVsZWtvbSAiRGVsaXZlcnMgR2VvSlNPTiBleHBvcnRzIHZpYSBUZWxla29tRGVzdGluYXRpb24iICJSRVNUIC8gSFRUUFMiCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgdmlld3MgewoKICAgICAgICBzeXN0ZW1Db250ZXh0IGV4cG9ydHNlcnZpY2UgIlN5c3RlbUNvbnRleHQiIHsKICAgICAgICAgICAgaW5jbHVkZSAqCiAgICAgICAgICAgIGF1dG9MYXlvdXQgbHIKICAgICAgICAgICAgdGl0bGUgIkV4cG9ydCBTZXJ2aWNlIOKAlCBTeXN0ZW0gQ29udGV4dCIKICAgICAgICB9CgogICAgICAgIGNvbnRhaW5lciBleHBvcnRzZXJ2aWNlICJDb250YWluZXJzIiB7CiAgICAgICAgICAgIGluY2x1ZGUgKgogICAgICAgICAgICBhdXRvTGF5b3V0IGxyCiAgICAgICAgICAgIHRpdGxlICJFeHBvcnQgU2VydmljZSDigJQgQ29udGFpbmVycyIKICAgICAgICB9CgogICAgICAgIHN0eWxlcyB7CiAgICAgICAgICAgIGVsZW1lbnQgIlBlcnNvbiIgewogICAgICAgICAgICAgICAgc2hhcGUgUGVyc29uCiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICMxMTY4QkQKICAgICAgICAgICAgICAgIGNvbG9yICNGRkZGRkYKICAgICAgICAgICAgfQogICAgICAgICAgICBlbGVtZW50ICJFeHRlcm5hbCIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjNkI2QjZCCiAgICAgICAgICAgICAgICBjb2xvciAjRkZGRkZGCiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiU29mdHdhcmUgU3lzdGVtIiB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICMxMTY4QkQKICAgICAgICAgICAgICAgIGNvbG9yICNGRkZGRkYKICAgICAgICAgICAgfQogICAgICAgICAgICBlbGVtZW50ICJDb250YWluZXIiIHsKICAgICAgICAgICAgICAgIGJhY2tncm91bmQgIzQzOERENQogICAgICAgICAgICAgICAgY29sb3IgI0ZGRkZGRgogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsZW1lbnQgIkFwaSIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjMjQ3MUEzCiAgICAgICAgICAgICAgICBjb2xvciAjRkZGRkZGCiAgICAgICAgICAgICAgICBzaGFwZSBSb3VuZGVkQm94CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiQ29yZSIgewogICAgICAgICAgICAgICAgYmFja2dyb3VuZCAjMUE1Mjc2CiAgICAgICAgICAgICAgICBjb2xvciAjRkZGRkZGCiAgICAgICAgICAgICAgICBzaGFwZSBSb3VuZGVkQm94CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxlbWVudCAiRm9ybWF0TW9kdWxlIiB7CiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kICMxRTg0NDkKICAgICAgICAgICAgICAgIGNvbG9yICNGRkZGRkYKICAgICAgICAgICAgICAgIHNoYXBlIENvbXBvbmVudAogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlbGF0aW9uc2hpcCAiUHJpbWFyeSIgewogICAgICAgICAgICAgICAgY29sb3IgI0U3NEMzQwogICAgICAgICAgICAgICAgdGhpY2tuZXNzIDMKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgdGhlbWUgZGVmYXVsdAogICAgfQoKICAgIGNvbmZpZ3VyYXRpb24gewogICAgICAgIHNjb3BlIHNvZnR3YXJlc3lzdGVtCiAgICB9Cgp9"},"revision":6,"views":{"configuration":{"branding":{},"lastSavedView":"Containers","metadataSymbols":"SquareBrackets","styles":{"elements":[{"background":"#1168bd","color":"#ffffff","shape":"Person","tag":"Person"},{"background":"#6b6b6b","color":"#ffffff","tag":"External"},{"background":"#1168bd","color":"#ffffff","tag":"Software System"},{"background":"#438dd5","color":"#ffffff","tag":"Container"},{"background":"#2471a3","color":"#ffffff","shape":"RoundedBox","tag":"Api"},{"background":"#1a5276","color":"#ffffff","shape":"RoundedBox","tag":"Core"},{"background":"#1e8449","color":"#ffffff","shape":"Component","tag":"FormatModule"}],"relationships":[{"color":"#e74c3c","tag":"Primary","thickness":3}]},"terminology":{},"themes":["https://static.structurizr.com/themes/default/theme.json"]},"containerViews":[{"automaticLayout":{"applied":true,"edgeSeparation":0,"implementation":"Graphviz","nodeSeparation":300,"rankDirection":"LeftRight","rankSeparation":300,"vertices":false},"dimensions":{"height":3519,"width":3850},"elements":[{"id":"2","x":200,"y":1427},{"id":"3","x":3200,"y":827},{"id":"4","x":3200,"y":1427},{"id":"5","x":3200,"y":2027},{"id":"7","x":950,"y":1427},{"id":"8","x":2450,"y":1427},{"id":"9","x":1700,"y":219},{"id":"10","x":1700,"y":2927},{"id":"11","x":1700,"y":2327},{"id":"12","x":1700,"y":1727},{"id":"13","x":1700,"y":1127}],"externalSoftwareSystemBoundariesVisible":false,"key":"Containers","order":2,"relationships":[{"id":"15"},{"id":"17","vertices":[{"x":1700,"y":977},{"x":2150,"y":977}]},{"id":"18"},{"id":"19","vertices":[{"x":1700,"y":2777}]},{"id":"20"},{"id":"21"},{"id":"22"},{"id":"23"},{"id":"24","vertices":[{"x":2150,"y":2777}]},{"id":"25"},{"id":"26"},{"id":"27"},{"id":"28"},{"id":"30"},{"id":"32"}],"softwareSystemId":"6","title":"Export Service — Containers"}],"systemContextViews":[{"automaticLayout":{"applied":false,"edgeSeparation":0,"implementation":"Graphviz","nodeSeparation":300,"rankDirection":"LeftRight","rankSeparation":300,"vertices":false},"elements":[{"id":"2","x":0,"y":0},{"id":"3","x":0,"y":0},{"id":"4","x":0,"y":0},{"id":"5","x":0,"y":0},{"id":"6","x":0,"y":0}],"enterpriseBoundaryVisible":true,"key":"SystemContext","order":1,"relationships":[{"id":"16"},{"id":"29"},{"id":"31"},{"id":"33"}],"softwareSystemId":"6","title":"Export Service — System Context"}]}}