{
  "manifest": {
    "formatVersion": 1,
    "kind": "model",
    "name": "Motor Insurer",
    "branch": "main",
    "ref": "v1.0.0",
    "commit": "0000000000000000000000000000000000000000",
    "exportedAt": "2026-10-08T00:00:00Z"
  },
  "model": {
    "annotations": [
      {
        "annotations": [],
        "body": "A motor insurer, modelled in URDAD to be run as well as read.",
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "id": "6a0678ea-6e78-59e8-939a-26b371cb6b2d",
        "language": "en",
        "markup": "text_plain",
        "name": "Description",
        "purpose": "shortDescription"
      },
      {
        "annotations": [],
        "body": "A client onboards, insures a vehicle, claims against the policy and asks for a claims report; each morning, claims open too long are escalated. The four use cases create the model's three entities — `Client`, `Policy` **owned by** a client, and `Claim` **against** a policy — which an execution environment keeps, checking every pre- and post-condition against them as it runs.\n\n*Process claim* is the long-running one: it waits for the client's documents against a deadline, screens and prices the claim concurrently, refers a risky claim to an investigator, and has the rest assessed, paid and repaired by a process of its own — people, rules and code each doing their part, chosen per deployment.\n\nGenerated by `models/motorClaim/generate.py`.",
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "id": "e88e71ff-d273-51d4-a723-e35459cecfac",
        "language": "en",
        "markup": "text_markdown",
        "name": "Details",
        "purpose": "detailedDescription"
      }
    ],
    "formalizationOf": [],
    "formalizationSnapshots": [],
    "id": "9caadebf-4a56-5c4c-9a9f-2d21d14afee4",
    "name": "Motor Insurer",
    "isModel": true,
    "responsibilityDomains": [
      {
        "annotations": [
          {
            "annotations": [],
            "body": "The insurer's clients — the people its services are offered to.",
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "a61903ef-8b47-541d-bf70-e91288854c82",
            "language": "en",
            "markup": "text_plain",
            "name": "Description",
            "purpose": "shortDescription"
          },
          {
            "annotations": [],
            "body": "An external party, owning nothing in this model. Every use case is *published* to it, which is what makes the service callable from outside; and a client is also asked, as a task, when an assessor needs more information.",
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "22eb5a38-83e6-5280-8e1e-c8e0fa521f7a",
            "language": "en",
            "markup": "text_markdown",
            "name": "Details",
            "purpose": "detailedDescription"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "id": "4b0fb51e-3bce-50d2-88cc-fc13ef7a4690",
        "name": "Clients",
        "dataTypes": [],
        "entities": [],
        "exceptions": [],
        "processes": [],
        "responsibilityDomains": [],
        "serviceContracts": []
      },
      {
        "annotations": [
          {
            "annotations": [],
            "body": "The motor insurer: its shared vocabulary and the departments that answer for its services.",
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "089a19b1-bebb-5c77-a6bd-5168e933f843",
            "language": "en",
            "markup": "text_plain",
            "name": "Description",
            "purpose": "shortDescription"
          },
          {
            "annotations": [],
            "body": "Responsibility is divided by what each department can guarantee: *Client Register* knows the clients, *Underwriting* the policies, *Claims* the claims; *Fraud Investigation*, *Assessment*, *Repair Network* and *Claims Management* are people; *Payments* pays. There is no client-facing department: each use case is in the department whose records its post-conditions are about, and is offered to clients by being *published* to them.",
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "80a4498f-c6d7-5367-9351-70e21ad2c67a",
            "language": "en",
            "markup": "text_markdown",
            "name": "Details",
            "purpose": "detailedDescription"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "id": "4b21aeb0-f9a0-5522-8caa-dd376058151d",
        "name": "Insurer",
        "dataTypes": [
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Free text: a name, a description, a finding.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "4a0625bd-6e7b-5ddd-8558-78e7b2173d34",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
            "name": "Text",
            "dataType": "string",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "A number the insurer issues once and never reuses — a client, policy or claim number.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "bfb92e1a-336b-56f2-bcf0-c2c9d4000ea1",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Distinct from `Text` so a reader can tell a key from a label.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "942218fc-65e1-5a08-a7f4-d369d983ff7c",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "6440e607-47f3-5a31-8f91-0de9f2caa368",
            "name": "Identifier",
            "dataType": "string",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "An amount of money, exact to the cent.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "85fa2dc9-9341-5f8f-a2b3-79b0567475b3",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
            "name": "Money",
            "dataType": "decimal",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "A point in time — when cover starts, when an incident happened.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "ac6bad29-62a6-5051-a416-7127f79463b5",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "An instant rather than a calendar date, so it compares directly with `now()`.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "b21b42ff-0fe4-544d-a31d-16041ae2e285",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "0279902b-56f2-5b87-9368-22357fd318c5",
            "name": "Moment",
            "dataType": "dateTime",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "An amount of time — how long a claim has been open.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "494f4d03-d027-5e0e-951d-bf63da62b013",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "53c0c85f-ddaf-5959-99c9-520ff527bd33",
            "name": "Period",
            "dataType": "duration",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "A whole number: a model year, a score.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "497b5d87-806a-54e4-a027-583113ec0775",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "7fffc5aa-cfb8-50e5-b6b7-2f92f8a13315",
            "name": "Count",
            "dataType": "integer",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Yes or no.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "257c4b46-b3ce-5164-b72f-982a67688bc1",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
            "name": "Flag",
            "dataType": "boolean",
            "invariances": [],
            "variant": "PrimitiveType"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Whether a policy currently gives cover.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "8abcea62-3edc-545a-b085-eab6d766b7c6",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "ebba3779-a0ac-57b2-adf3-135c0f55b1c2",
            "name": "PolicyStatus",
            "invariances": [],
            "options": [
              "inForce",
              "lapsed",
              "cancelled"
            ],
            "variant": "Enumeration"
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Where a claim stands.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "bbb9ffac-395c-59eb-a829-fa8fe6f25a9e",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "A claim is *lodged* when recorded, *documented* once the client's supporting documents arrive — or *documentsOverdue* if they do not in time — and ends *settled* or *declined*.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "dbd7981b-cecb-5b2d-af1f-9ca7572d5ad9",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "9833c596-effd-5cb0-b30b-67562a2043f3",
            "name": "ClaimStatus",
            "invariances": [],
            "options": [
              "lodged",
              "documented",
              "documentsOverdue",
              "settled",
              "declined"
            ],
            "variant": "Enumeration"
          }
        ],
        "entities": [],
        "exceptions": [],
        "processes": [],
        "responsibilityDomains": [
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Who the insurer's clients are.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "bc738b5d-03ab-59f6-a760-6d66985f5a8f",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Onboards them: *Onboard client* is the use case, *Record client* the write it requests.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "4e387393-3733-597c-bf7a-046538cde4df",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "068d81d2-8a28-51e0-b77c-6e0608463205",
            "name": "Client Register",
            "dataTypes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "The insurer's record of one client.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6f070855-27ee-5ff4-b427-d16243295ef4",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **view** onto the `Client` entity. The identity number must be kept for as long as the law obliges the insurer to (know-your-customer), so it is `retentionObligated`; the rest is `standard` personal data, erasable on request. The login is **unique**: `caller` is compared with it, and a policy finds its owner by it, so two clients sharing one would make both ambiguous. The client number's format is an invariance, which an execution environment's key generator is checked against.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "73c04076-dca6-56b8-8316-28085a1841de",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "199e5c56-1155-5926-9852-0888723b2f84",
                "name": "ClientRecord",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client's number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "da6c0b93-4c7f-58ce-9274-5f92fd73f63d",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "467d25be-811a-5315-8c23-a570e5d356a6",
                    "name": "clientNumber",
                    "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "identifies"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client's name.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "7b87559e-3efe-5fe6-8438-b386681fac77",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "300adaa2-8a3d-5fb1-a9a7-2f063e2cf775",
                    "name": "name",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states",
                    "personalData": "standard"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The number on the identity document the client onboarded with.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "23986737-f7c3-5223-90a6-b7eaaf438a13",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3765b712-4845-5aeb-bdbf-328e49fa17e6",
                    "name": "idNumber",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states",
                    "personalData": "retentionObligated"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Where the client is written to.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "b03d6ea0-f64c-527c-8983-2f46b5e4f15f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "4291ccf8-1e98-54a6-9621-ab6f8a3806ff",
                    "name": "email",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states",
                    "personalData": "standard"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The login identity the client uses — what `caller` is compared with.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "64066590-3dd5-5187-b22b-07906409bc0d",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "2e631e9a-fb82-5a61-a9a7-277a88d1abb2",
                    "name": "login",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states",
                    "personalData": "standard",
                    "unique": true
                  }
                ],
                "invariances": [
                  {
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "b1280bb8-8af0-5be6-84de-f36a03ebde98",
                    "name": "Client number format",
                    "formalSpecification": {
                      "body": "self.clientNumber.matches('CL-[0-9]{4,}')",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [],
                    "isInvariance": true
                  }
                ],
                "variant": "DataStructure",
                "entityRef": "dd675aab-2387-5c71-8f1a-0261dca6b275"
              }
            ],
            "entities": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A person the insurer has onboarded as a client.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "1f2bf40c-f68a-5b3a-b863-b779f863af3f",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "An entity: a business object with an identity, whose state the insurer keeps. Its fields are those of the views that project it — here `ClientRecord`.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f3f869a6-cb08-5bdd-8686-7acc8665d99a",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "dd675aab-2387-5c71-8f1a-0261dca6b275",
                "name": "Client",
                "readableBy": []
              }
            ],
            "exceptions": [],
            "processes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Records the person as a client under the login they asked with.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6833e80c-5953-545b-bee0-9e32fbcc34d0",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "e9a14f08-48f1-5d4f-b79d-78c64f96d899",
                "name": "Onboard client",
                "serviceContract": "44b08c93-05e5-5b28-85c5-f1fa7e3958bc",
                "activities": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Identity not yet registered' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "f5cb79b1-9956-5c86-9456-122fe4fd83a4",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f9e7c073-58af-5536-92fc-f9c5c1d7ad6c",
                    "name": "Identity not yet registered",
                    "preCondition": "78a82f91-f159-5ee0-8881-53a36bc49fb6",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Login not yet registered' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "055d0ce7-4a26-59ed-b6a3-8600e0980b82",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c6e361ef-5c8e-5c20-84d1-16a59d9c7790",
                    "name": "Login not yet registered",
                    "preCondition": "ed1dd7d0-f780-5543-bd32-8ff3d22ab0b5",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Put the client on record.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "50d0e2d7-5434-5e07-a98f-836392b2fd1e",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c3099332-18bc-57be-a085-517e084b0cfe",
                    "name": "Record client",
                    "service": "7d5883d7-a816-5a11-8d62-f265c3477a9c",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'name' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "d3f3a132-2974-590a-9c03-c4eb2433b84b",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1ba4c67a-58cc-509c-ad2b-01b8f8be6a5c",
                        "name": "name",
                        "formalSpecification": {
                          "body": "providerRequest.name = request.name",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'idNumber' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "800c25b1-9274-5e12-8e51-064140782aac",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ae15cda1-1d06-53b2-9aa7-a737d87d061b",
                        "name": "idNumber",
                        "formalSpecification": {
                          "body": "providerRequest.idNumber = request.idNumber",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'email' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "6ab8350b-28d5-56de-a316-b4f314ce7eee",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "36d1fb4d-ec2b-5828-8954-20f985a9496b",
                        "name": "email",
                        "formalSpecification": {
                          "body": "providerRequest.email = request.email",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'login' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "3e098daf-4d82-5c82-8dbf-d0fa64207966",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "c053554e-f912-5e6e-a470-792b1f802b62",
                        "name": "login",
                        "formalSpecification": {
                          "body": "providerRequest.login = caller",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Return the number issued.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "e9acc9ec-d0f6-59c0-b2c2-d565c1579da3",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "ae3431c8-46f4-52b2-966e-1891218bdd58",
                          "name": "Report the client number",
                          "variant": "PopulateResponse",
                          "responseConstraints": [
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How the response's clientNumber is populated.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "6b193737-a702-54ea-8a84-bb79b957a0a2",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "f203e7c3-0a7d-5977-adb3-8dfc6794bc0a",
                              "name": "clientNumber",
                              "formalSpecification": {
                                "body": "response.clientNumber = recorded.clientNumber",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "ResponseConstraint"
                            }
                          ]
                        }
                      ],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "1aa4517d-5325-58db-82e7-4503c9c31ee9",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [
                      {
                        "activities": [
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "Somebody registered this identity after the check: refuse in this service's terms.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "439c08a0-ff03-59df-b780-0f8e4720d302",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "81201087-9224-5595-97a9-b05712c3cbca",
                            "name": "Refuse: Identity not yet registered not met",
                            "variant": "RaiseException",
                            "exception": "643df30f-0744-5f79-b3c9-abe97a870209",
                            "exceptionConstraints": []
                          }
                        ],
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What is done when 'Record client' refuses because 'Identity not yet registered' does not hold.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "3916222d-ee23-54dd-8655-7f0704ca6555",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "76671e22-0667-52c9-9256-6d78e16ec34a",
                        "name": "handle Identity not yet registered not met",
                        "variant": "ExceptionHandler",
                        "exception": "2c361979-c2ee-5494-a9aa-d71a0accb69d"
                      }
                    ],
                    "messageHandlers": [],
                    "responseVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The client as recorded.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5b242b74-da96-5004-9d3b-a05396c4a5a0",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7b67fa73-ac64-5240-b591-a60efd12d3ef",
                      "name": "recorded",
                      "invariances": [],
                      "dataType": "0b7ef6d9-a391-5fcc-a119-98a8bd831ed9",
                      "multiplicity": "1"
                    }
                  }
                ],
                "requirementAllocations": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Record client' is the step that discharges 'Client onboarded'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "9f8f9a03-1eba-54fc-bbfa-10c43fceb6e7",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6285f7ab-04a1-5a13-9021-ed827a029c05",
                    "name": "Client onboarded ← Record client",
                    "toAddress": "77f18f89-4402-5d0e-ae3e-4a90db110a83",
                    "addressedBy": "c3099332-18bc-57be-a085-517e084b0cfe"
                  }
                ],
                "unplacedActivities": {
                  "activities": [],
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "e9a14f08-48f1-5d4f-b79d-78c64f96d899-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence"
                },
                "variant": "Process"
              }
            ],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A person becomes a client of the insurer.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f504dda5-8872-5bf1-a7fb-e2751931fbe8",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "44b08c93-05e5-5b28-85c5-f1fa7e3958bc",
                "name": "Onboard client",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Onboard client'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b444ffc4-ccf5-503d-8dd2-e2c32ef0391e",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "956e1078-b83a-51eb-aa13-40e9d1e8dca3",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Their name.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "0c067980-c023-5b2e-81bb-a3ee1aefcb90",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "67515c6b-d415-598f-b78e-c65f50ba8eed",
                      "name": "name",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The number on their identity document.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "fbf147b1-b46c-5fa0-91fa-43401b5f4562",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "07d01e35-104b-5a31-a1b4-3de49312e991",
                      "name": "idNumber",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Their e-mail address.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "a2dd9bf3-55b9-5e8d-a011-59db346399b8",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "cc94a26e-7b9f-571f-ad7f-5872d986f421",
                      "name": "email",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Onboard client' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "00168443-514f-5c93-a4ca-0a433b767aaf",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "42e658ad-3e73-5e72-a8dd-a73c6b5271bb",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The client number issued.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "4b4aead4-e2f6-5ba7-8cbb-812db654dfc4",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4da2b5d8-c177-53cd-8464-c236af1bca3f",
                      "name": "clientNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Each person is onboarded once, by their identity document.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "18e0b1e4-9826-5833-be18-7d67a393918b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "78a82f91-f159-5ee0-8881-53a36bc49fb6",
                    "name": "Identity not yet registered",
                    "formalSpecification": {
                      "body": "Client.allInstances()->forAll(c | c.idNumber <> request.idNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Onboard client' is requested while 'Identity not yet registered' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b0431f6d-339d-5124-b27f-da9e58c363aa",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "643df30f-0744-5f79-b3c9-abe97a870209",
                      "name": "Identity not yet registered not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A login identity belongs to one client.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "3613482f-d5b3-509e-a52b-4e660c087f0c",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "`caller` is the login identity that asked: the client is onboarded under it, which is what lets every later service ask whether a policy is the caller's own.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "b4a498b3-e8cb-5bef-b874-bbe689b86db3",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "ed1dd7d0-f780-5543-bd32-8ff3d22ab0b5",
                    "name": "Login not yet registered",
                    "formalSpecification": {
                      "body": "Client.allInstances()->forAll(c | c.login <> caller)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Onboard client' is requested while 'Login not yet registered' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5445e9c9-6a11-5c01-9352-dd305b3138b1",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "c34921a7-ab8e-59e7-a440-6c9fbfd06374",
                      "name": "Login not yet registered not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The person is a client, under the login they asked with.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a1f01b5c-ca61-536e-9a3a-afb11b63c735",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "77f18f89-4402-5d0e-ae3e-4a90db110a83",
                    "name": "Client onboarded",
                    "formalSpecification": {
                      "body": "Client.allInstances()->exists(c | c.clientNumber = response.clientNumber and c.idNumber = request.idNumber and c.login = caller)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "4b0fb51e-3bce-50d2-88cc-fc13ef7a4690"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Records a new client and issues their client number.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "ca3fd5ba-ae07-5dea-a6dc-eea336e6a5d7",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "7d5883d7-a816-5a11-8d62-f265c3477a9c",
                "name": "Record client",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Record client'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "953776f9-847d-544c-afd6-343a44dd030e",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "8911941c-9f2a-5d7b-b245-a376419144e9",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The client's name.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "1255f2cf-65d7-5f02-aaae-02006806cd79",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "26eb6606-b519-5bf3-adc6-30aac4318695",
                      "name": "name",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The number on their identity document.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5b1e0b36-d404-546c-b77d-1ad9a253729b",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b67e08b9-4a49-59a9-94f9-a4f26fc60fcd",
                      "name": "idNumber",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Their e-mail address.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8e8f70f1-91c6-5f49-80b9-4650c4aafc24",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "c661e094-f5e4-5717-a25c-219e2beec5c0",
                      "name": "email",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The login identity they will use.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "ce6c2c83-fa83-5306-9e22-b2760fd71310",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "73b2f9db-bc2d-52c8-b7ae-7e481906dd9f",
                      "name": "login",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Record client' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4f2771c5-1692-50c5-baff-aa1d9ae7f3d4",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "0b7ef6d9-a391-5fcc-a119-98a8bd831ed9",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The number issued.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "26c1da1a-69d4-58c6-b755-261d46d5dc5c",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "72e7c0cb-bce6-55a7-aecf-64c4c37aee3c",
                      "name": "clientNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Each person is onboarded once, by their identity document.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ac58e9d9-997b-510b-b8b8-0e33a106f76f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "2664f5ed-fb4d-5514-811e-2034a05fdfb9",
                    "name": "Identity not yet registered",
                    "formalSpecification": {
                      "body": "Client.allInstances()->forAll(c | c.idNumber <> request.idNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Record client' is requested while 'Identity not yet registered' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "973422ee-6ebc-5037-96e5-98f8f813c012",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2c361979-c2ee-5494-a9aa-d71a0accb69d",
                      "name": "Identity not yet registered not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client is on record with the details given.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "3e392ca8-6571-5d23-9791-d5208f133afa",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "b2b3f56e-985d-53fa-917a-5bd419a87085",
                    "name": "Client recorded",
                    "formalSpecification": {
                      "body": "Client.allInstances()->exists(c | c.clientNumber = response.clientNumber and c.name = request.name and c.idNumber = request.idNumber and c.email = request.email and c.login = request.login)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The number issued belonged to no client before.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ce38cdee-d4c0-5aac-bd84-81b373c68367",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "aec658ec-7fb3-5d61-aec1-822e165ecf18",
                    "name": "Client number is new",
                    "formalSpecification": {
                      "body": "Client.allInstances@pre()->forAll(c | c.clientNumber <> response.clientNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "id": "cc71a856-7e7b-817b-bf2f-fa9e53459e66",
                "name": "getClient",
                "annotations": [
                  {
                    "id": "d0bae4b3-fe4f-8476-8fc4-c112f82ea44f",
                    "name": "Description",
                    "annotations": [],
                    "body": "Gives the client with the client number asked for, as its owning domain holds it. Generated from the entity; generate again rather than editing it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "language": "en",
                    "markup": "text_plain",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": true,
                "generatedFor": "dd675aab-2387-5c71-8f1a-0261dca6b275",
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "requestDataStructure": {
                  "id": "b1039448-2872-84ba-8252-508f7aeb978d",
                  "name": "Request",
                  "annotations": [
                    {
                      "id": "b79ad83c-efc7-8923-a149-cdcf833db0d8",
                      "name": "Description",
                      "annotations": [],
                      "body": "What is supplied when requesting 'getClient'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "language": "en",
                      "markup": "text_plain",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "a6cdca89-41fd-8b91-9900-815054d7b0d0",
                      "name": "clientNumber",
                      "annotations": [
                        {
                          "id": "a465e636-8a9d-8dbc-b35f-c6c46cec6221",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client number of the client asked for.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "id": "6f9dd6dd-bfcc-8a36-8592-261b13c067f3",
                  "name": "Response",
                  "annotations": [
                    {
                      "id": "e6be2594-eebb-8b5f-8f22-be01a5f74d3e",
                      "name": "Description",
                      "annotations": [],
                      "body": "What 'getClient' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "language": "en",
                      "markup": "text_plain",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "1eb03e14-9c77-88ed-bdd9-c9b2ee09df82",
                      "name": "clientNumber",
                      "annotations": [
                        {
                          "id": "0bd0699d-2801-84b8-9be5-e60a75c4e29b",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's client number.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "cd514118-3d20-8379-a809-741114e9e22c",
                      "name": "email",
                      "annotations": [
                        {
                          "id": "8bb262b5-d7fe-80f4-be45-cd1ca9dbb52d",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's email.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "standard"
                    },
                    {
                      "id": "e9bf4809-d0b5-8163-b15d-8ecbdcb12b84",
                      "name": "idNumber",
                      "annotations": [
                        {
                          "id": "dcc63e78-db6d-836e-9f30-b7dd4aec7db5",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's id number.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "retentionObligated"
                    },
                    {
                      "id": "f81c076f-a192-8fd8-9ed0-b5ebf2d7db09",
                      "name": "login",
                      "annotations": [
                        {
                          "id": "2784184f-4e8a-8159-995e-581cd30c76c4",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's login.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "standard"
                    },
                    {
                      "id": "255ede2a-dd06-8720-b159-34fde2af128f",
                      "name": "name",
                      "annotations": [
                        {
                          "id": "f0725fe7-0d5d-8a71-9b7e-755d7e4b618a",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's name.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "standard"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "id": "b0974a2e-26ef-8175-bc9c-57aca4ed2604",
                    "name": "Client exists",
                    "annotations": [
                      {
                        "id": "91b11406-2172-8650-b2fd-0d696e30b035",
                        "name": "Description",
                        "annotations": [],
                        "body": "There is a client with that client number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "language": "en",
                        "markup": "text_plain",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Client.allInstances()->exists(e | e.clientNumber = request.clientNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "id": "676af262-1ef2-8592-bb9f-170e121eb5e1",
                      "name": "Client exists not met",
                      "annotations": [
                        {
                          "id": "fdf5b51d-b16b-816b-8378-d633d4392d8c",
                          "name": "Description",
                          "annotations": [],
                          "body": "Raised when 'getClient' is requested while 'Client exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "id": "5ac0332c-9a83-883e-8558-ae843e8ea2f1",
                    "name": "Client given",
                    "annotations": [
                      {
                        "id": "025f2ef7-3fab-8bb7-9d50-aa3357c7b19c",
                        "name": "Description",
                        "annotations": [],
                        "body": "Every stored field of the client with that client number, an association as its target's identity.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "language": "en",
                        "markup": "text_plain",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.clientNumber = Client.allInstances()->any(e | e.clientNumber = request.clientNumber).clientNumber and response.email = Client.allInstances()->any(e | e.clientNumber = request.clientNumber).email and response.idNumber = Client.allInstances()->any(e | e.clientNumber = request.clientNumber).idNumber and response.login = Client.allInstances()->any(e | e.clientNumber = request.clientNumber).login and response.name = Client.allInstances()->any(e | e.clientNumber = request.clientNumber).name",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ]
              },
              {
                "id": "039718cb-dc89-8e1c-a303-b3a36b3f21fb",
                "name": "findClientByLogin",
                "annotations": [
                  {
                    "id": "6532f808-b675-8a1d-b74e-8dd315819cf6",
                    "name": "Description",
                    "annotations": [],
                    "body": "Gives the client with the login asked for, as its owning domain holds it. Generated from the entity; generate again rather than editing it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "language": "en",
                    "markup": "text_plain",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": true,
                "generatedFor": "dd675aab-2387-5c71-8f1a-0261dca6b275",
                "provisionalStakeholders": [],
                "publishedTo": [
                  "0f5a7810-3cc7-5adf-b78e-0e0efcfd9c94"
                ],
                "waivedPreConditions": [],
                "requestDataStructure": {
                  "id": "1771254b-6cb5-87b3-8b15-a641dc7cd23a",
                  "name": "Request",
                  "annotations": [
                    {
                      "id": "edaeafd3-1500-847e-bd45-2d13d00e1ea3",
                      "name": "Description",
                      "annotations": [],
                      "body": "What is supplied when requesting 'findClientByLogin'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "language": "en",
                      "markup": "text_plain",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "ea9444fb-68ca-8249-8cee-30794b292c44",
                      "name": "login",
                      "annotations": [
                        {
                          "id": "de9d9b40-56eb-8984-a830-6ecd1170a4f5",
                          "name": "Description",
                          "annotations": [],
                          "body": "The login of the client asked for.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "id": "55830f87-4129-8aa1-862f-e22aac900ab6",
                  "name": "Response",
                  "annotations": [
                    {
                      "id": "a0b26b94-7fbf-8ecc-8d51-ceb405ecf3df",
                      "name": "Description",
                      "annotations": [],
                      "body": "What 'findClientByLogin' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "language": "en",
                      "markup": "text_plain",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "44070fe0-05b8-8214-9d51-1de905f45a6d",
                      "name": "clientNumber",
                      "annotations": [
                        {
                          "id": "4cd31ef9-bc21-8985-9c99-ba44886b0e38",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's client number.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "d719fdd0-eaf3-82b6-be09-e19c69c44ff9",
                      "name": "email",
                      "annotations": [
                        {
                          "id": "5a615a25-093b-8bdf-a4e6-fd2fa743d574",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's email.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "standard"
                    },
                    {
                      "id": "cdcbd851-dd98-88c6-899d-fa152ef08ae3",
                      "name": "idNumber",
                      "annotations": [
                        {
                          "id": "b695463e-eb27-82af-a8ae-e524586954ee",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's id number.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "retentionObligated"
                    },
                    {
                      "id": "9d682041-ddd5-8fff-a8d4-a7f3ce365c58",
                      "name": "login",
                      "annotations": [
                        {
                          "id": "e71d9eff-448f-847a-80b8-b2c91dcf45d9",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's login.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "standard"
                    },
                    {
                      "id": "f6ea84fd-5d35-89d1-927e-e25c9a0a48a0",
                      "name": "name",
                      "annotations": [
                        {
                          "id": "f0f4d4d9-a86c-887c-aa40-daf60b7d33f1",
                          "name": "Description",
                          "annotations": [],
                          "body": "The client's name.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition",
                      "personalData": "standard"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "id": "c5584e74-c9cc-8f06-8154-4956be983df5",
                    "name": "Client with that login exists",
                    "annotations": [
                      {
                        "id": "1cf4a07c-d542-8d6f-b443-1d573ff9dad0",
                        "name": "Description",
                        "annotations": [],
                        "body": "There is a client with that login.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "language": "en",
                        "markup": "text_plain",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Client.allInstances()->exists(e | e.login = request.login)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "id": "dc25f3ed-2c53-8bb3-948a-f693dbf60712",
                      "name": "Client with that login exists not met",
                      "annotations": [
                        {
                          "id": "252b77e9-e830-887e-b7c4-302caf8abaeb",
                          "name": "Description",
                          "annotations": [],
                          "body": "Raised when 'findClientByLogin' is requested while 'Client with that login exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "id": "abb2128a-571f-8163-be10-01718d53a9be",
                    "name": "Client given",
                    "annotations": [
                      {
                        "id": "5bbbafa8-8900-836e-a23d-e1029de71537",
                        "name": "Description",
                        "annotations": [],
                        "body": "Every stored field of the client with that login, an association as its target's identity.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "language": "en",
                        "markup": "text_plain",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.clientNumber = Client.allInstances()->any(e | e.login = request.login).clientNumber and response.email = Client.allInstances()->any(e | e.login = request.login).email and response.idNumber = Client.allInstances()->any(e | e.login = request.login).idNumber and response.login = Client.allInstances()->any(e | e.login = request.login).login and response.name = Client.allInstances()->any(e | e.login = request.login).name",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ]
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Pricing cover and issuing policies.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "e575c3ae-d9d2-5d26-88d5-6bba209adc4d",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Sells cover: *Purchase motor insurance* is the use case, quoting and issuing the services it requests.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "40b4e4fe-1501-5a81-b5b7-66cf6d693840",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "0f5a7810-3cc7-5adf-b78e-0e0efcfd9c94",
            "name": "Underwriting",
            "dataTypes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "The vehicle a policy covers.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "59fee28c-77e3-5467-8c8c-38f1b9173423",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **value object**: composed into the policy, with no identity of its own.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "72b61936-7c55-5b05-adc0-05e2ed3c7bb7",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "34a13958-86c6-5c05-9e2c-100815a3812f",
                "name": "Vehicle",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The vehicle's registration number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "c8f06c6a-f040-5765-9c33-3c83b37cd1bd",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "877fb689-559a-596f-9186-39e4a904a148",
                    "name": "registration",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Its make.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a348067d-f339-5357-a1f9-446701111751",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "48441402-a5cd-5d28-ac64-2bb8815094e0",
                    "name": "make",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Its model.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "27fb619c-4773-5950-b6ce-fb30f4a7962c",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7099e25d-89ff-53b4-8005-3a80d4457a86",
                    "name": "model",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Its model year.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "fe70fe97-e818-5232-9b9a-e69bd0873763",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "311c8ac0-d879-5531-a228-f73763e2194d",
                    "name": "year",
                    "dataType": "7fffc5aa-cfb8-50e5-b6b7-2f92f8a13315",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What it is worth — and what it is insured for.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "aef6b9c8-aa47-545e-a3e9-7e712a32c8de",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a8eb1dc0-7b7f-5f59-a0e0-ab90873f846c",
                    "name": "value",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  }
                ],
                "invariances": [],
                "variant": "DataStructure"
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "The insurer's record of one policy.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c3fdc08f-005d-5aae-a5cb-a809d4b4756e",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A view onto the `Policy` entity. `owner` is an **association** to another entity's view: it is stored as that client's identity, never as a copy, and a constraint navigates it — `p.owner.login` — as the client it denotes.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "72362198-5b77-53fb-be15-20a569e7298e",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "57132b72-abc5-5abe-8e4f-7028061f7c7d",
                "name": "PolicyRecord",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The policy's number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "08b40f51-9738-5c86-a64e-c5472a979b5d",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "174d279e-359b-524c-a5f8-5420dcec1323",
                    "name": "policyNumber",
                    "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "identifies"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client who owns the policy.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "22d405a4-b7af-58e0-a235-9db2fbe3564e",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "8168ee58-4d1d-5ab3-8813-3cf70777924d",
                    "name": "owner",
                    "dataType": "199e5c56-1155-5926-9852-0888723b2f84",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "association",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The vehicle covered.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "7e8be4ff-4402-5ac9-9a9c-d603a1053d2d",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "e2d7ce2d-6b23-5a59-ba11-4cb25f9d3735",
                    "name": "vehicle",
                    "dataType": "34a13958-86c6-5c05-9e2c-100815a3812f",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What the cover costs a year.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "739279af-6524-5dab-8e82-0ec385896b8b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a9f1c0d9-2f12-5ed4-8bc7-a275c83b5e7a",
                    "name": "premium",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What the client bears of each claim.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "d2918a6e-c805-5565-a3e2-4cbc2edda665",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a341f11f-fd87-595b-a044-6d1d23e2cf23",
                    "name": "excess",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The most a claim pays.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "67c10a49-daf5-5326-a8da-8dac29f6a01a",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f270ff11-c2fc-5129-8caf-467ed52bf3ea",
                    "name": "sumInsured",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "When cover starts.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "43a203a3-654b-571b-a891-b4fdb644d524",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a876dbb5-f194-5fa8-9559-51b67d5cdefb",
                    "name": "startsAt",
                    "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "When cover ends.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "67a97e5f-e363-54b3-ade1-7ed5e5d82767",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f15f305b-4f01-5b03-abf2-2e673bdf53ff",
                    "name": "endsAt",
                    "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Whether it gives cover.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "c5f4ab4f-5243-5661-bb47-cc219c992388",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "731a9296-9565-5b51-8d6e-053ca90c7e33",
                    "name": "status",
                    "dataType": "ebba3779-a0ac-57b2-adf3-135c0f55b1c2",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  }
                ],
                "invariances": [
                  {
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "68cd9004-eeed-54e6-b440-3415c1fdc69a",
                    "name": "Cover is a year",
                    "formalSpecification": {
                      "body": "self.endsAt = self.startsAt + 'PT8760H'",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [],
                    "isInvariance": true
                  },
                  {
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "71e91320-14de-5c44-a1f0-81dd7630719c",
                    "name": "Excess within the sum insured",
                    "formalSpecification": {
                      "body": "self.excess < self.sumInsured",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [],
                    "isInvariance": true
                  },
                  {
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "4132b5f5-7700-5ade-bd4f-f2e259227ec3",
                    "name": "Policy number format",
                    "formalSpecification": {
                      "body": "self.policyNumber.matches('PO-[0-9]{4,}')",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [],
                    "isInvariance": true
                  }
                ],
                "variant": "DataStructure",
                "entityRef": "1b63f649-ad8a-5a4e-9f23-4b170e2a7202"
              }
            ],
            "entities": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A motor policy the insurer has issued.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c53119fe-b39f-5c29-9fc7-9b8869ccbc74",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Identified by its policy number, and **owned** by a client: `PolicyRecord.owner` is an association to the client's record, stored as the client's identity and navigated as the client it denotes.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "959500c5-6f31-50ae-89dc-b3b4988c5859",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "1b63f649-ad8a-5a4e-9f23-4b170e2a7202",
                "name": "Policy",
                "readableBy": []
              }
            ],
            "exceptions": [],
            "processes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Quotes the cover, issues the policy to the client, and reports its terms.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c96df08f-ea4a-55ef-85ef-d4cef0352c88",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "*Quote premium* is a function the execution environment answers from its post-conditions alone; *Issue policy* writes the policy, owned by the client.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "98f3f0c9-13b8-5abd-a7a0-ca38324c0590",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "c0399510-b2fb-53b2-a875-b15542a53bfd",
                "name": "Purchase motor insurance",
                "serviceContract": "9cf133a7-41eb-52c3-8ac0-2b8a02df8ce4",
                "activities": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Applicant is a client' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "77f53c28-2ab3-5a07-8187-0a916f30b1cb",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3d59f60d-5abc-5b3a-a4a6-d669c8ef8a96",
                    "name": "Applicant is a client",
                    "preCondition": "59d004a8-e80d-5687-851e-978d95dbe7bb",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Vehicle not already insured' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "62b19db2-e899-5187-8174-9092b8d8329f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "74670361-b15e-51e8-bb60-a7ff19ec90c5",
                    "name": "Vehicle not already insured",
                    "preCondition": "88890ad0-59f6-5455-923f-0278fc7d00d7",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Value is positive' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "763b8041-1bcb-5159-bad5-60d0e422ec29",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "de8bfc88-a3a0-5e33-9d9a-8c1d14062c73",
                    "name": "Value is positive",
                    "preCondition": "09ad00d9-7a24-5bef-a84a-12d22a8bdea4",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Cover does not start in the past' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0a8c638b-e6fd-5a64-aea5-d1b6c0a1c26b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "ee81f0f9-eed4-5021-be05-f383e1f89222",
                    "name": "Cover does not start in the past",
                    "preCondition": "872cda21-24bc-5c23-8556-3c67e7b97ea0",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Ask Client Register who the applicant is.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0e23fd77-9bbd-5730-a4a7-73e236950e62",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "The policy is issued to the applicant's **client number**, which only *Client Register* can say: so it is asked, rather than its clients read.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "50e075e3-d358-5292-8301-53543668fb79",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f15319e5-d44c-500e-94e0-327d79aad513",
                    "name": "Find the applicant",
                    "service": "039718cb-dc89-8e1c-a303-b3a36b3f21fb",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'login' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "f658298d-8153-54aa-8872-7578467cf405",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0c18454e-5281-5edc-8a4d-b4957e16f6fa",
                        "name": "login",
                        "formalSpecification": {
                          "body": "providerRequest.login = caller",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Price the cover for the vehicle.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "28f60ec3-2e8d-531b-a915-e13a7848c576",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "7b5f8124-9dfe-57cf-9941-e72183d0e9a4",
                          "name": "Quote premium",
                          "service": "ca889b04-775e-5df8-8604-ffb0a3053096",
                          "instanceKind": "singleInstance",
                          "processingMode": "parallel",
                          "variant": "RequestService",
                          "requestConstraints": [
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How 'vehicleValue' is populated for this request.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "1c7f3562-e112-5de4-854a-46d5d2eff7d0",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "f944101f-69bb-5673-a956-a0ced6e7bf02",
                              "name": "vehicleValue",
                              "formalSpecification": {
                                "body": "providerRequest.vehicleValue = request.vehicle.value",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "RequestConstraint"
                            }
                          ],
                          "defaultFlow": {
                            "activities": [
                              {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "Issue the policy on the terms quoted.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "7d5c2572-f6e8-5c47-8fb4-639ddb86e687",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "f1491f87-d3fd-544a-bd7b-69d402013efc",
                                "name": "Issue policy",
                                "service": "806976b5-563a-5ac7-b59b-ae226cce8c65",
                                "instanceKind": "singleInstance",
                                "processingMode": "parallel",
                                "variant": "RequestService",
                                "requestConstraints": [
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'ownerNumber' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "221d68e1-9b31-59ae-a584-784d86eca004",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "a01731f2-286e-5ad0-8c63-1d015b986a1f",
                                    "name": "ownerNumber",
                                    "formalSpecification": {
                                      "body": "providerRequest.ownerNumber = applicant.clientNumber",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'vehicle' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "9db55c8f-001c-5ee4-baa6-d4a05c7da3fa",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "a2ed04fe-3ef6-529a-8796-d53f8caa41de",
                                    "name": "vehicle",
                                    "formalSpecification": {
                                      "body": "providerRequest.vehicle = request.vehicle",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'startsAt' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "493cab13-2c09-5563-9b4b-14fa2b0a21ec",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "b377daae-1cef-5bde-b800-bb6ad8a3abee",
                                    "name": "startsAt",
                                    "formalSpecification": {
                                      "body": "providerRequest.startsAt = request.startsAt",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'premium' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "9490dadf-ff4d-5ff4-9bec-ee3d2d98222e",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "59f1db39-c568-5548-9eda-71f409054e76",
                                    "name": "premium",
                                    "formalSpecification": {
                                      "body": "providerRequest.premium = quote.premium",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'excess' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "f6719690-329c-5e63-a892-4f3cf185e870",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "5eb7179c-e88c-5cde-9df5-9689d63cc1de",
                                    "name": "excess",
                                    "formalSpecification": {
                                      "body": "providerRequest.excess = quote.excess",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'sumInsured' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "404a4a0e-731f-50e2-adfb-2ba73c89b278",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "e77b38cc-0656-5d82-b927-158370565539",
                                    "name": "sumInsured",
                                    "formalSpecification": {
                                      "body": "providerRequest.sumInsured = quote.sumInsured",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  }
                                ],
                                "defaultFlow": {
                                  "activities": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "Return the policy number and its terms.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "edaf9b76-8aa2-531a-a82d-8ea785e5c817",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "1b21bd94-fb5c-58ba-9977-b9426c0482c1",
                                      "name": "Report the policy",
                                      "variant": "PopulateResponse",
                                      "responseConstraints": [
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "How the response's policyNumber is populated.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "b057967f-b85b-5e35-914f-7d4e6b4f2a27",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "e5a768c0-4af8-54ff-aad4-c82dc812b20f",
                                          "name": "policyNumber",
                                          "formalSpecification": {
                                            "body": "response.policyNumber = issued.policyNumber",
                                            "specificationLanguage": "OCL"
                                          },
                                          "variant": "ResponseConstraint"
                                        },
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "How the response's premium is populated.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "bc089115-53ee-5812-813b-62b5e0c42ac8",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "b490ef53-c011-58f3-8933-67be4dd61fd1",
                                          "name": "premium",
                                          "formalSpecification": {
                                            "body": "response.premium = quote.premium",
                                            "specificationLanguage": "OCL"
                                          },
                                          "variant": "ResponseConstraint"
                                        },
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "How the response's excess is populated.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "5990d62b-6c85-5da5-8a82-cf1ecdad206f",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "fc9036d2-6a61-56ce-8783-f6a9e30e4532",
                                          "name": "excess",
                                          "formalSpecification": {
                                            "body": "response.excess = quote.excess",
                                            "specificationLanguage": "OCL"
                                          },
                                          "variant": "ResponseConstraint"
                                        },
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "How the response's sumInsured is populated.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "a96787f7-ea46-5c5c-a22c-7a9d69886f51",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "729c1a67-266b-5729-94b8-3a08498278f8",
                                          "name": "sumInsured",
                                          "formalSpecification": {
                                            "body": "response.sumInsured = quote.sumInsured",
                                            "specificationLanguage": "OCL"
                                          },
                                          "variant": "ResponseConstraint"
                                        }
                                      ]
                                    }
                                  ],
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "7bcf6496-aa52-57b8-b281-e91477732bfb",
                                  "name": "default",
                                  "variant": "ActivitySequence"
                                },
                                "exceptionHandlers": [
                                  {
                                    "activities": [
                                      {
                                        "annotations": [
                                          {
                                            "annotations": [],
                                            "body": "The policy's owner is no client: the applicant is not, in this service's terms.",
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "afe389f0-90d4-5f27-a362-17f3a3f6ec66",
                                            "language": "en",
                                            "markup": "text_plain",
                                            "name": "Description",
                                            "purpose": "shortDescription"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "78f8417e-793a-52aa-af46-40cc95ef70ac",
                                        "name": "Refuse: Applicant is a client not met",
                                        "variant": "RaiseException",
                                        "exception": "fe2ac145-33bd-56dc-a969-76806ba17ed9",
                                        "exceptionConstraints": []
                                      }
                                    ],
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "What is done when 'Issue policy' refuses because 'Owner is a client' does not hold.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "1aa732b5-de77-5a0d-a0b9-9bf944ff4196",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "0e8bd9a6-1d76-5373-9085-f5c7669f2095",
                                    "name": "handle Owner is a client not met",
                                    "variant": "ExceptionHandler",
                                    "exception": "0c9b362f-a1d1-596f-a20f-2e614a983aeb"
                                  }
                                ],
                                "messageHandlers": [],
                                "responseVariable": {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "The policy issued.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "c4f363ec-7baa-5592-8616-2b2070a5b3be",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "1a22a77a-c159-5ac4-846e-f38057f0303c",
                                  "name": "issued",
                                  "invariances": [],
                                  "dataType": "21a07ba2-75a8-510d-9ca1-2519a675e7bd",
                                  "multiplicity": "1"
                                }
                              }
                            ],
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "dcf3030c-3790-529e-b4d4-4c0fba37aedd",
                            "name": "default",
                            "variant": "ActivitySequence"
                          },
                          "exceptionHandlers": [
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Nothing worth nothing can be priced: refuse in this service's terms.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "4856df34-67db-5a0c-a9b9-140f060aec8b",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "14632bf6-b6a9-5deb-a14f-d0b5ead8f28c",
                                  "name": "Refuse: Value is positive not met",
                                  "variant": "RaiseException",
                                  "exception": "19f1e06f-2c31-551e-a01c-8b6d8020bf32",
                                  "exceptionConstraints": []
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "What is done when 'Quote premium' refuses because 'Value is positive' does not hold.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "c76c13d2-652e-52fe-a7d0-3bbc7a7dcadd",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "47f58fbb-1efd-5c3e-b4f7-baa5b3b8de17",
                              "name": "handle Value is positive not met",
                              "variant": "ExceptionHandler",
                              "exception": "da344789-5a4c-5753-83df-b0f7faa68f8c"
                            }
                          ],
                          "messageHandlers": [],
                          "responseVariable": {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "The terms quoted.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "56a96ebe-09cf-5bd3-8b3a-598fe253bc34",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "41ee818f-b648-5928-a7ec-ca72512baa18",
                            "name": "quote",
                            "invariances": [],
                            "dataType": "3366215c-9feb-5ec9-ba5e-ce2f0d6b73e8",
                            "multiplicity": "1"
                          }
                        }
                      ],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "adb7155f-8bdd-52b1-aefb-3e7a387d9a01",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [
                      {
                        "activities": [
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "The applicant stopped being a client after the check: refuse in this service's terms.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "0e601f8b-b933-56c8-bbba-d520930a00e5",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "4254e13b-b75a-5ef5-b785-c46504ba3164",
                            "name": "Refuse: Applicant is a client not met",
                            "variant": "RaiseException",
                            "exception": "fe2ac145-33bd-56dc-a969-76806ba17ed9",
                            "exceptionConstraints": []
                          }
                        ],
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What is done when 'findClientByLogin' refuses because 'Client with that login exists' does not hold.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "199846d7-76b5-5d83-a6e8-0f8af3811e4d",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "eba5e045-1bfa-5d07-b3a0-3738da7ac8f7",
                        "name": "handle Client with that login exists not met",
                        "variant": "ExceptionHandler",
                        "exception": "dc25f3ed-2c53-8bb3-948a-f693dbf60712"
                      }
                    ],
                    "messageHandlers": [],
                    "responseVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The applicant, as Client Register keeps them.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "74471252-b1f3-5c03-b442-cf94823d985d",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e8763482-6f18-5a35-ac3f-c224efb902b6",
                      "name": "applicant",
                      "invariances": [],
                      "dataType": "55830f87-4129-8aa1-862f-e22aac900ab6",
                      "multiplicity": "1"
                    }
                  }
                ],
                "requirementAllocations": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Issue policy' is the step that discharges 'Policy issued to the client'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "b962e93b-428a-5f6f-93b9-807a86842193",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "fafb8943-affe-55cd-818d-381f69a259ac",
                    "name": "Policy issued to the client ← Issue policy",
                    "toAddress": "7d7ea0cc-61a6-5d33-95f6-cc6044787929",
                    "addressedBy": "f1491f87-d3fd-544a-bd7b-69d402013efc"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Report the policy' is the step that discharges 'Terms reported'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "6d3396bd-7ade-51ff-9b0d-9701e9e1738e",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "bbb36e2a-6d1d-5ca5-9fb1-60a4841fcdfe",
                    "name": "Terms reported ← Report the policy",
                    "toAddress": "b93c37ba-a9c1-572f-910c-595b5c29ecee",
                    "addressedBy": "1b21bd94-fb5c-58ba-9977-b9426c0482c1"
                  }
                ],
                "unplacedActivities": {
                  "activities": [],
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "c0399510-b2fb-53b2-a875-b15542a53bfd-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence"
                },
                "variant": "Process"
              }
            ],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A client insures a vehicle.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "dfe43b0d-22de-5fd7-beaa-4984c8c5f3cf",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "9cf133a7-41eb-52c3-8ac0-2b8a02df8ce4",
                "name": "Purchase motor insurance",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Purchase motor insurance'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a4676b5a-df9d-5911-b032-0df44b093483",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "38b743ad-cc4a-5fb6-b3df-0ab5350cd191",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The vehicle to insure.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "c36b3d32-bdc3-5d65-aca8-91dffd160495",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "500fdf8d-6b7d-545a-9b23-7fc13f895ef1",
                      "name": "vehicle",
                      "dataType": "34a13958-86c6-5c05-9e2c-100815a3812f",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "When cover should start.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "6cf76964-8328-52d9-8fbd-89b2c0988430",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4727b514-3cc1-53bd-bc62-d2a48d7d88d4",
                      "name": "startsAt",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Purchase motor insurance' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "27445111-8205-5d9f-97f2-f0b5398fc186",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "9f9da9c7-0640-5851-8f98-fdf87b3d41a0",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy issued.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "0c5a04c1-d8b4-5e2a-af44-fa6cc59b6fe5",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6dd3d5b6-1552-533d-950a-e141d8c81524",
                      "name": "policyNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Its annual premium.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "26591115-3af9-5978-ba82-f76547f18cb4",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6017640c-be29-57e0-bb88-5fb3ad97dd39",
                      "name": "premium",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Its excess.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "e6ece0c6-d727-5e72-83d6-44de0e27a233",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "ed27fb81-4c55-530a-bd8a-451554a4b08f",
                      "name": "excess",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Its sum insured.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "da8e7ad9-cc4f-5ac9-8a9e-9b240f503c49",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "d93fa942-6dc9-5ce0-bb7f-db9893994aa9",
                      "name": "sumInsured",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Only an onboarded client buys cover.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "8b31718b-e7be-570f-af3d-2a4bef5b8af1",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "Asked of *Client Register*, which keeps the clients, through its `findClientByLogin`.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "66d2c27f-3ec6-5f81-9df8-8ffc60fbfa18",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "59d004a8-e80d-5687-851e-978d95dbe7bb",
                    "name": "Applicant is a client",
                    "formalSpecification": {
                      "body": "findClientByLogin(Tuple{login = caller}) <> null",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Purchase motor insurance' is requested while 'Applicant is a client' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "73571ae5-832d-523f-b886-edcb6cd0302b",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "fe2ac145-33bd-56dc-a969-76806ba17ed9",
                      "name": "Applicant is a client not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A vehicle has at most one policy in force.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "55284113-1a58-5931-9cae-0fc21612e901",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "88890ad0-59f6-5455-923f-0278fc7d00d7",
                    "name": "Vehicle not already insured",
                    "formalSpecification": {
                      "body": "Policy.allInstances()->forAll(p | p.vehicle.registration <> request.vehicle.registration or p.status <> PolicyStatus::inForce)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Purchase motor insurance' is requested while 'Vehicle not already insured' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "97f12fb0-1fed-51f8-bfcb-15c2983ef421",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e69cff44-12d6-5741-b897-4c124b4d8328",
                      "name": "Vehicle not already insured not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Only a vehicle with a value is insured.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "9b6f3d27-b6cf-5079-bf72-bac30259d1d8",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "09ad00d9-7a24-5bef-a84a-12d22a8bdea4",
                    "name": "Value is positive",
                    "formalSpecification": {
                      "body": "request.vehicle.value > 0",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Purchase motor insurance' is requested while 'Value is positive' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "a716f3a2-57ef-56db-80fc-2b59503c3790",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "19f1e06f-2c31-551e-a01c-8b6d8020bf32",
                      "name": "Value is positive not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Cover starts no earlier than a day ago.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "578841bd-8429-54ab-aa8d-74905c7e17c7",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "872cda21-24bc-5c23-8556-3c67e7b97ea0",
                    "name": "Cover does not start in the past",
                    "formalSpecification": {
                      "body": "request.startsAt + 'PT24H' >= now()",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Purchase motor insurance' is requested while 'Cover does not start in the past' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "2c91c3a6-4497-50e6-969a-f59f09d2aa76",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e92b3610-a819-5eed-b2cb-bac0c19d3a0b",
                      "name": "Cover does not start in the past not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A policy in force for the vehicle is owned by the client.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "b8932b1f-eba2-569b-988f-653f0cfa1a19",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7d7ea0cc-61a6-5d33-95f6-cc6044787929",
                    "name": "Policy issued to the client",
                    "formalSpecification": {
                      "body": "Policy.allInstances()->exists(p | p.policyNumber = response.policyNumber and p.owner.login = caller and p.vehicle.registration = request.vehicle.registration and p.status = PolicyStatus::inForce)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The response states the policy's terms.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "063f8879-816c-5d6d-956b-57615c230325",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "b93c37ba-a9c1-572f-910c-595b5c29ecee",
                    "name": "Terms reported",
                    "formalSpecification": {
                      "body": "Policy.allInstances()->select(p | p.policyNumber = response.policyNumber)->forAll(p | p.premium = response.premium and p.excess = response.excess and p.sumInsured = response.sumInsured)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "4b0fb51e-3bce-50d2-88cc-fc13ef7a4690"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Prices motor cover for a vehicle.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5eed9abe-d477-566e-a32e-60452792a004",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **function**, and one whose post-conditions *determine* its whole response from the request: the premium is 0.04 of the value, the excess 7500 above 300000 and 5000 otherwise, the sum insured the value. An execution environment can therefore answer it with **no code** — a `specified` realization evaluates these recipes.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "602234af-84f1-566c-953c-5acb48857324",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "ca889b04-775e-5df8-8604-ffb0a3053096",
                "name": "Quote premium",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Quote premium'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4d15c24c-0a5c-57e0-89c9-9aeaf21604bd",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "5992fa9e-1f4a-5c97-a55f-3588a8177458",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the vehicle is worth.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "ff064c14-d27a-5614-b0b3-8fe52e98ce5f",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "36a6a6ba-187a-5f71-ac4a-65984186b1e7",
                      "name": "vehicleValue",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Quote premium' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "78f9cf99-6ba7-5cf9-9a1a-05ccf6011959",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "3366215c-9feb-5ec9-ba5e-ce2f0d6b73e8",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The annual premium.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b888c4b9-66cd-5830-b7d0-87361a682391",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4ea57f2c-b9dc-5164-9548-d03fc109fa13",
                      "name": "premium",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the client bears of each claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "79789df3-eb40-511c-9c17-0e9ffb1d7139",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "0e5c8feb-48d9-5a57-a680-12f74c953c1d",
                      "name": "excess",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The most a claim pays.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "f7821e0b-b739-5cd1-b324-8b877b55e2a8",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "d2d9426e-47d2-55f4-a58b-4418c650ae13",
                      "name": "sumInsured",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Only a vehicle with a value is priced.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "fd00edd3-868c-51e7-83b2-49eaa9a44b84",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "1d1017ee-c40f-5b9f-ae4b-1d0b186b18b3",
                    "name": "Value is positive",
                    "formalSpecification": {
                      "body": "request.vehicleValue > 0",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Quote premium' is requested while 'Value is positive' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "405d9da6-df82-51b9-9f04-56486c7b282a",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "da344789-5a4c-5753-83df-b0f7faa68f8c",
                      "name": "Value is positive not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The premium is 0.04 of the value.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "5b4d8c02-75b9-54d5-85f5-1572ded0397f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c9ca8cd3-4559-5d63-afe3-3a5868b111d3",
                    "name": "Premium priced",
                    "formalSpecification": {
                      "body": "response.premium = request.vehicleValue * 0.04",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The excess depends on the vehicle's value.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "77aaf664-ec96-51bc-b794-758c7dc9dd0a",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "cbafc9ba-96ef-570f-b346-9ae7c1ac783a",
                    "name": "Excess set",
                    "formalSpecification": {
                      "body": "response.excess = if request.vehicleValue > 300000 then 7500 else 5000 endif",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The sum insured is the vehicle's value.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "eb85ce0f-9178-5e99-af59-622e8e2bf19d",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3cab1528-d5b9-5276-ae99-d13e24d2f6d9",
                    "name": "Insured for its value",
                    "formalSpecification": {
                      "body": "response.sumInsured = request.vehicleValue",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": true
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Issues a policy to a client on the terms quoted.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "47b15bb3-9781-5bc0-87fa-307cccd18da1",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "806976b5-563a-5ac7-b59b-ae226cce8c65",
                "name": "Issue policy",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Issue policy'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "9715a8ad-33d0-56ac-9fb8-757511c45892",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "74e2bac7-1ed9-5a56-9ab1-aa049b2ed1c6",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The number of the client who will own the policy.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "e6f51e8d-bb65-548c-8715-fe5fb9ff51e7",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7291a250-82e6-5ecd-bba6-c9980b04534f",
                      "name": "ownerNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The vehicle covered.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "156495f5-0962-54a1-979a-3fe2512207f1",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a3f74978-f95d-525f-b621-19e47a3e06fb",
                      "name": "vehicle",
                      "dataType": "34a13958-86c6-5c05-9e2c-100815a3812f",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "When cover starts.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8fbf775e-a5bf-52f7-a27c-0e61f888ef6c",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "338ccd34-2952-5ef4-8039-3d1edcaffb5c",
                      "name": "startsAt",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The premium quoted.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "afcc2e7e-d11e-534c-afa7-3917cad468cb",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "1212727c-fe05-5570-9886-0a27fb89c396",
                      "name": "premium",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The excess quoted.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b62d8c54-9888-595b-8dca-b890634f90b1",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "11d63faf-1ad0-5c41-9bfe-89514ec5adde",
                      "name": "excess",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The sum insured quoted.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "94e3034d-553f-5581-8d0f-9ff6076de9bc",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "408d3c0e-0f35-5d78-93ac-82ad9dcaa103",
                      "name": "sumInsured",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Issue policy' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "18a69f49-945e-5420-8b35-8f56ae3d0619",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "21a07ba2-75a8-510d-9ca1-2519a675e7bd",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The number issued.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "4b973d03-9e7f-5101-b2b8-c59a59062216",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "892ad67a-413c-54a3-a8aa-b7b995134061",
                      "name": "policyNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A policy is issued only to an onboarded client.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1f85ba07-1975-5fc5-a68d-bd6feb6bbdc3",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "Asked of *Client Register*, which keeps the clients, through its `getClient`.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "027177c5-f7a7-519f-b7f3-9f4bec761255",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a4dd8def-a12e-54e5-b066-2bf0044cbdc7",
                    "name": "Owner is a client",
                    "formalSpecification": {
                      "body": "getClient(Tuple{clientNumber = request.ownerNumber}) <> null",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Issue policy' is requested while 'Owner is a client' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "68e644c0-2f18-5859-aff7-533132cfc88f",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "0c9b362f-a1d1-596f-a20f-2e614a983aeb",
                      "name": "Owner is a client not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A policy in force on the terms quoted is owned by the client.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "4705281e-7369-5122-ba29-a0c002903727",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5b6321ce-9fa9-54bf-92b1-a394d7840ea0",
                    "name": "Policy issued",
                    "formalSpecification": {
                      "body": "Policy.allInstances()->exists(p | p.policyNumber = response.policyNumber and p.owner.clientNumber = request.ownerNumber and p.vehicle = request.vehicle and p.premium = request.premium and p.excess = request.excess and p.sumInsured = request.sumInsured and p.startsAt = request.startsAt and p.status = PolicyStatus::inForce)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The number issued belonged to no policy before.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e86dcdf7-e54b-5f1f-b017-ad9bf6a7a89c",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3d015780-fa75-53cc-b821-f4ab06d5afb2",
                    "name": "Policy number is new",
                    "formalSpecification": {
                      "body": "Policy.allInstances@pre()->forAll(p | p.policyNumber <> response.policyNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "id": "cec35c3f-7a5c-8add-afe6-ca21e36ee8cc",
                "name": "getPolicy",
                "annotations": [
                  {
                    "id": "8f218373-600b-84a8-932a-525d0188e24d",
                    "name": "Description",
                    "annotations": [],
                    "body": "Gives the policy with the policy number asked for, as its owning domain holds it. Generated from the entity; generate again rather than editing it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "language": "en",
                    "markup": "text_plain",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": true,
                "generatedFor": "1b63f649-ad8a-5a4e-9f23-4b170e2a7202",
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "requestDataStructure": {
                  "id": "fa15eb6f-af27-8f6c-8bff-e7fc53fdc1c3",
                  "name": "Request",
                  "annotations": [
                    {
                      "id": "6d492780-451a-84ed-b4c0-262d329febce",
                      "name": "Description",
                      "annotations": [],
                      "body": "What is supplied when requesting 'getPolicy'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "language": "en",
                      "markup": "text_plain",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "07a5463f-2914-8752-b94a-d9eff33b89cb",
                      "name": "policyNumber",
                      "annotations": [
                        {
                          "id": "cb6ce204-f832-8cab-b6ad-9588829ecbc6",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy number of the policy asked for.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "id": "c9e90456-3cd4-8520-bebb-a58b8cf498b1",
                  "name": "Response",
                  "annotations": [
                    {
                      "id": "fdf072e1-13b9-8871-a781-0361ba6376dc",
                      "name": "Description",
                      "annotations": [],
                      "body": "What 'getPolicy' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "language": "en",
                      "markup": "text_plain",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "f5157302-0763-82d6-a08a-20b5a22e1c49",
                      "name": "endsAt",
                      "annotations": [
                        {
                          "id": "8f80d9e4-2a01-877f-bae2-d23a2c303384",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's ends at.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "eb05ff9e-abd5-8252-864a-c25fc5c75f29",
                      "name": "excess",
                      "annotations": [
                        {
                          "id": "6a0cd029-e5e7-87ab-9de8-32d7df2d9ee4",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's excess.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "46321398-f7d3-823c-b7ac-5d15ae653be5",
                      "name": "owner",
                      "annotations": [
                        {
                          "id": "75208b70-4051-813d-a1f5-fce35e514e40",
                          "name": "Description",
                          "annotations": [],
                          "body": "The identity of the policy's owner.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "08ea9510-8877-87d6-ac32-9892d9dd1a4d",
                      "name": "policyNumber",
                      "annotations": [
                        {
                          "id": "4f1377f8-7aae-8c7f-93fa-9177dbcc0e18",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's policy number.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "800d8143-a7ac-85d6-bcdb-5e614615843b",
                      "name": "premium",
                      "annotations": [
                        {
                          "id": "04a468bb-42cb-8a7f-82e8-98daa67906b6",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's premium.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "6b025907-8c4d-8269-a86e-beb54a0a8bd6",
                      "name": "startsAt",
                      "annotations": [
                        {
                          "id": "10ff438f-d33a-88a4-ac5a-469c95bf407f",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's starts at.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "681e3865-084d-8227-ba1a-5eb32a8c9ac4",
                      "name": "status",
                      "annotations": [
                        {
                          "id": "edea6774-c73d-8652-8424-548a305c0b75",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's status.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "ebba3779-a0ac-57b2-adf3-135c0f55b1c2",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "672120f8-aa33-8aa2-b456-a43ef56f13fd",
                      "name": "sumInsured",
                      "annotations": [
                        {
                          "id": "913d6293-5d74-8dbb-874e-e6da11db82c8",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's sum insured.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "id": "476f21b9-430f-8167-81cf-966181b92b96",
                      "name": "vehicle",
                      "annotations": [
                        {
                          "id": "97310272-1579-8e12-9843-1dc6f6b692bf",
                          "name": "Description",
                          "annotations": [],
                          "body": "The policy's vehicle.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "dataType": "34a13958-86c6-5c05-9e2c-100815a3812f",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "id": "0050d17f-4a5c-8943-afb1-7b8d2aeae556",
                    "name": "Policy exists",
                    "annotations": [
                      {
                        "id": "16b0eb52-409f-8b4e-ac18-550f297121ff",
                        "name": "Description",
                        "annotations": [],
                        "body": "There is a policy with that policy number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "language": "en",
                        "markup": "text_plain",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Policy.allInstances()->exists(e | e.policyNumber = request.policyNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "id": "4af6eded-1b1d-86f0-87b7-097ab4f7bce3",
                      "name": "Policy exists not met",
                      "annotations": [
                        {
                          "id": "a1fd0e01-873a-8341-b146-6105d252e6ee",
                          "name": "Description",
                          "annotations": [],
                          "body": "Raised when 'getPolicy' is requested while 'Policy exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "language": "en",
                          "markup": "text_plain",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "id": "92c700a1-8c7b-88dc-843c-3e1673d1b8f3",
                    "name": "Policy given",
                    "annotations": [
                      {
                        "id": "9b4c5238-755e-825d-9e4f-543c09a84e3e",
                        "name": "Description",
                        "annotations": [],
                        "body": "Every stored field of the policy with that policy number, an association as its target's identity.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "language": "en",
                        "markup": "text_plain",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.endsAt = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).endsAt and response.excess = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).excess and response.owner = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).owner.clientNumber and response.policyNumber = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).policyNumber and response.premium = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).premium and response.startsAt = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).startsAt and response.status = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).status and response.sumInsured = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).sumInsured and response.vehicle = Policy.allInstances()->any(e | e.policyNumber = request.policyNumber).vehicle",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ]
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "The claims made against policies, and the record of each.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "858e66e3-2669-56ab-bbc1-4452de71e8b3",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Answers for a claim's outcome: *Process claim* orchestrates the departments that screen, assess, repair and pay, and *Provide claims report* reads the record.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "1aaa339d-404b-510c-954d-866e608bd851",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "377aec32-e79a-5a94-9459-e61cdb910691",
            "name": "Claims",
            "dataTypes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "One damaged part of the vehicle, as the client reports it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "59cbeaa7-7c23-5739-b1a7-db9942acb807",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "d18d554c-6dc5-51c9-bab1-be56b92363ab",
                "name": "DamagedItem",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What was damaged.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ec0240e8-416f-5a81-869a-faf239f00dd4",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "30b0f0c1-49ea-59d8-8e22-4d2bdb5b5fd4",
                    "name": "description",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client's estimate of the repair.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0d749d0d-69ea-5b3c-b0f1-58027d10ebe3",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f7522de4-329f-5840-9051-14f848ae32f0",
                    "name": "estimate",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  }
                ],
                "invariances": [],
                "variant": "DataStructure"
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "The insurer's record of one claim.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3f5f546e-7503-57f0-bbb6-b6693dd09cef",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A view onto the `Claim` entity, whose `policy` is an association to the policy claimed against.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "60a3ede9-4070-557d-8cdd-d9c9cf8f8c2b",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "fe25aa2d-d458-56b3-9f5f-ae35faee8749",
                "name": "ClaimRecord",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim's number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "209564fa-ec7b-5718-bf5f-238b3c78381b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "e5a2485a-c785-5c61-9da2-4dbdc455fa4f",
                    "name": "claimNumber",
                    "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "identifies"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The policy claimed against.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "7eaeacf0-de02-5a5d-9576-a4f473c5d18c",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "72cc7063-ba13-53cf-836b-c64f1140fe23",
                    "name": "policy",
                    "dataType": "57132b72-abc5-5abe-8e4f-7028061f7c7d",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "association",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "When the incident happened.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "2d615da5-d47a-51e6-b128-1ee20bcf7cf6",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3f537247-6c8f-5e4c-aca7-7a4260a10135",
                    "name": "incidentAt",
                    "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "When the claim was recorded.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "fdcddf7e-1bd6-5775-b26b-7973d4d9c68f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "396bcec9-dfc0-516e-8c21-0196ecf70fec",
                    "name": "lodgedAt",
                    "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What happened, in the client's words.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e54240fb-c9b8-5961-bdec-142f5293fee7",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "05cc2663-3dd8-5e02-9ea9-3a390f9a7e57",
                    "name": "description",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Where the claim stands.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0b622394-2cf0-53b3-97bb-97e9617ac22b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d207d15a-b7ac-54b9-a57d-c37108b4a133",
                    "name": "status",
                    "dataType": "9833c596-effd-5cb0-b30b-67562a2043f3",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition",
                    "entityRole": "states"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What was paid, once settled.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "fae745c9-49c2-5adf-a9c6-bc10bed3c2e8",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d5307fa3-8fcf-511c-b772-38fa8a25d343",
                    "name": "payout",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "0..1",
                    "relationship": "composition",
                    "entityRole": "states"
                  }
                ],
                "invariances": [
                  {
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "eac421f9-a38a-5a7a-9de4-23946d8fec19",
                    "name": "Claim number format",
                    "formalSpecification": {
                      "body": "self.claimNumber.matches('CM-[0-9]{4,}')",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [],
                    "isInvariance": true
                  }
                ],
                "variant": "DataStructure",
                "entityRef": "e87b3117-7bc8-5194-9fa9-cb03b1c09446"
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "One line of a claims report.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "22cf29ee-032a-5215-8fef-441425619d8f",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "072a386f-b1b3-5867-8821-16aeb8ab4024",
                "name": "ClaimSummary",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim's number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "acede625-0170-5a85-9962-838ed2c597cc",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "16b924e4-cb4d-58bc-9ce2-c06af93ec6c7",
                    "name": "claimNumber",
                    "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "When the incident happened.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "add3a395-8d2a-560b-9e3d-57ff6bc8f74b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "47a57e59-4e52-5c5a-9d73-74432f3f6d82",
                    "name": "incidentAt",
                    "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Where it stands.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "716c7dc2-4d53-5302-bbc5-b4eddc864898",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "0867b039-c81f-57ae-ab86-25043c36baa2",
                    "name": "status",
                    "dataType": "9833c596-effd-5cb0-b30b-67562a2043f3",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What was paid, if settled.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a21da265-0424-5a31-a089-dee3448c6d49",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "100f045a-3471-5e35-9083-cb7e69f95a68",
                    "name": "payout",
                    "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                    "invariances": [],
                    "multiplicity": "0..1",
                    "relationship": "composition"
                  }
                ],
                "invariances": [],
                "variant": "DataStructure"
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "The client's supporting documents for a claim, sent as a message to the claim being processed.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7f5f4e95-c69c-58fb-9be6-b0829d72b477",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "5572c0b7-5356-5af6-a4c7-824911eb189e",
                "name": "SupportingDocuments",
                "abstract": false,
                "fields": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim the documents are for.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "de91a684-aab7-5110-bb4c-053258f71928",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c2a40ca3-0e71-5c60-8cfc-0a3410addba1",
                    "name": "claimNumber",
                    "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                    "invariances": [],
                    "multiplicity": "1",
                    "relationship": "composition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "What was sent — a police report, photographs.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "07e55f13-4d51-5bda-a779-ec687ce69a88",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "77a6d10f-f579-59e4-b358-3928377844a7",
                    "name": "documents",
                    "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                    "invariances": [],
                    "multiplicity": "1..*",
                    "relationship": "composition"
                  }
                ],
                "invariances": [],
                "variant": "DataStructure"
              }
            ],
            "entities": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A claim made against a policy.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "37907ad1-7583-51d9-8c16-e2c88275bf7f",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Identified by its claim number, and made **against** a policy: `ClaimRecord.policy` is an association to the policy's record. So a claim reaches its owner through two associations — `c.policy.owner.login`.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d5a6422b-9949-5f62-9ed0-b220368db737",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "e87b3117-7bc8-5194-9fa9-cb03b1c09446",
                "name": "Claim",
                "readableBy": []
              }
            ],
            "exceptions": [],
            "processes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Records the claim, waits for the client's documents, screens and prices it, and then either declines it or has it assessed and settled.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6be524c7-8233-59b5-9f76-cc57136e2a8d",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "**The showcase.** In order:\n\n1. *Record claim* writes the claim against the policy, and reports the cover.\n2. **Event-triggered flows**: the client's *supporting documents*, a message sent to this claim, race a 14-day deadline. Whichever comes first is recorded; a deployment may shorten the deadline.\n3. **Concurrent flows**: fraud screening, alongside a **for-each** pricing the damaged items that **folds** their total and **stops early** once it passes the vehicle's value — a write-off.\n4. **Alternate flows**: a high risk score is referred to an investigator, who may decline the claim; anything else goes straight to *Assess and settle claim*, a service realized by a process of its own.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "821c65fd-188b-5de8-a6ab-a1afc4135280",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "971c7861-3d68-57f0-8920-b0b4b0f5ca38",
                "name": "Process claim",
                "serviceContract": "cc1efc0d-226b-5344-97ee-4c41706263ff",
                "activities": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Policy in force at the incident' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a65bf5d9-257a-5445-b920-7c92fd75d1b3",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "8503b1bc-9bcf-5079-b03b-e29edfea64a5",
                    "name": "Policy in force at the incident",
                    "preCondition": "309cb64a-122c-5eda-b2fb-4049a651a287",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Requested by the policy owner' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0508f5ac-42bd-524d-88a8-b5e2e06e1768",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c9a97654-dcc5-53f4-8d14-854ed4060453",
                    "name": "Requested by the policy owner",
                    "preCondition": "54a98e73-7620-5710-971b-6f42f95718f0",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Incident has happened' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "60f96126-1d2d-5016-bf3a-73e2116dd597",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f0f5e4db-2d82-5151-887d-3353f8637749",
                    "name": "Incident has happened",
                    "preCondition": "48039e87-4ee9-5d3e-882e-73227e35b959",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Reported in time' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "8f057307-3af3-5651-9c6a-a8ebe55f4da8",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3576ff90-c6c9-5b56-9bfe-8eb7bc7ff86c",
                    "name": "Reported in time",
                    "preCondition": "e667c36f-672b-528d-9d2f-5decc61ddbff",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Record the claim against the policy.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "272b6835-6556-56f1-bcaa-e6b7e635da38",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6b320181-9d12-5340-ae87-c4d93fab3731",
                    "name": "Record claim",
                    "service": "c50291a0-e68c-5b06-a7f2-5f2f1c98bf2b",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'policyNumber' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "eac4c669-1346-5fc5-868b-5f78d2cde272",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "6d4a31e0-6dd4-57b9-859d-15bae3d3ae1d",
                        "name": "policyNumber",
                        "formalSpecification": {
                          "body": "providerRequest.policyNumber = request.policyNumber",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'incidentAt' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "642e4d26-8ba0-5c19-abbe-e7fbec2a0e75",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "74a287e5-6fea-5963-a19f-692d5e96de0c",
                        "name": "incidentAt",
                        "formalSpecification": {
                          "body": "providerRequest.incidentAt = request.incidentAt",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'description' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "a8e7ea78-6161-5f55-b013-d3207ced5008",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "fa5d2be4-a8b2-5fb4-a460-9b9139d32957",
                        "name": "description",
                        "formalSpecification": {
                          "body": "providerRequest.description = request.description",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "The claim's number is known from here on.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "caf6da60-4e65-589a-8947-c4af6dadab54",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "1cf3ea22-524a-5f36-b71c-34276cd04e6d",
                          "name": "Report the claim number",
                          "variant": "PopulateResponse",
                          "responseConstraints": [
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How the response's claimNumber is populated.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "9c978eff-5f6d-5967-83d1-a6dbe59f32d3",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "6457a34c-b836-59af-a0d3-c7710c0c1183",
                              "name": "claimNumber",
                              "formalSpecification": {
                                "body": "response.claimNumber = recorded.claimNumber",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "ResponseConstraint"
                            }
                          ]
                        },
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Wait for the client's documents, or the deadline.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "32b2bd2b-7c2d-5037-8a74-8372c1e7878a",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "28621855-316c-5a4b-9a64-be3f21c6fc4d",
                          "name": "Await supporting documents",
                          "variant": "EventTriggeredFlows",
                          "reactions": [
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Record that the documents arrived.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "2a2187b0-9896-5952-83de-bd329944c1ff",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "8eb5d72d-d0d1-527a-a8da-0d9d799f602d",
                                  "name": "Mark documented",
                                  "service": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                                  "instanceKind": "singleInstance",
                                  "processingMode": "parallel",
                                  "variant": "RequestService",
                                  "requestConstraints": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'claimNumber' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "9e802153-1213-5777-8269-f8d9ca83851e",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "9aa7eee9-e90a-58c8-8b1c-9b422b3813c0",
                                      "name": "claimNumber",
                                      "formalSpecification": {
                                        "body": "providerRequest.claimNumber = recorded.claimNumber",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    },
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'status' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "e5ba70d9-342d-59a5-8969-38e727f7f004",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "77cc6245-d6cd-5435-b575-26c56c0c8c4f",
                                      "name": "status",
                                      "formalSpecification": {
                                        "body": "providerRequest.status = ClaimStatus::documented",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    }
                                  ],
                                  "defaultFlow": {
                                    "activities": [],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "592a4cab-6747-5fd6-a799-0c8cc528ec3b",
                                    "name": "default",
                                    "variant": "ActivitySequence"
                                  },
                                  "exceptionHandlers": [
                                    {
                                      "activities": [],
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "The claim is the one this process recorded, and no service deletes a claim: it cannot be missing, so there is nothing to do.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "4f6d85ef-187d-5cb1-b821-f75bb4560a6f",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "07bb3ef3-7bcf-5a1a-a9f0-d60e0fcfef1f",
                                      "name": "handle Claim exists not met",
                                      "variant": "ExceptionHandler",
                                      "exception": "7dc38808-89d4-51db-8e88-e986061d5e06",
                                      "ignoresException": true
                                    }
                                  ],
                                  "messageHandlers": []
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "The client sends their supporting documents.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "83e9de45-4f37-5ce2-87b9-1c36e93e5f7b",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "99baf4a8-f574-5369-a0da-debec4cf1c6f",
                              "name": "Documents arrive",
                              "variant": "Reaction",
                              "trigger": {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "The client's documents for this claim.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "f5bcf334-638d-591a-9f56-9f8ce1d0ce00",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "3ce8527c-03d9-569d-a9ef-8f4f2b7328b1",
                                "name": "Supporting documents",
                                "variant": "MessageEvent",
                                "isEvent": true,
                                "dataStructure": "5572c0b7-5356-5af6-a4c7-824911eb189e",
                                "messageKey": "message.claimNumber",
                                "expectedKey": {
                                  "body": "recorded.claimNumber",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            },
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Record that the documents are overdue.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "823689fe-a991-5652-99f3-dd1c2e57f268",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "20ef5fb7-2a39-5f7e-82ee-810a7cb6717d",
                                  "name": "Mark documentsOverdue",
                                  "service": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                                  "instanceKind": "singleInstance",
                                  "processingMode": "parallel",
                                  "variant": "RequestService",
                                  "requestConstraints": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'claimNumber' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "19df9509-4628-5420-b384-02504d8ddd23",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "524820bd-9db5-5e58-b8e3-f51b26a9cf08",
                                      "name": "claimNumber",
                                      "formalSpecification": {
                                        "body": "providerRequest.claimNumber = recorded.claimNumber",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    },
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'status' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "4b44b752-a40e-5eee-8426-f55a9ac18e47",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "4db85035-5621-576e-839b-dd56e849c656",
                                      "name": "status",
                                      "formalSpecification": {
                                        "body": "providerRequest.status = ClaimStatus::documentsOverdue",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    }
                                  ],
                                  "defaultFlow": {
                                    "activities": [],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "dcab3e2a-6927-5df2-b5e8-13a9fb43f526",
                                    "name": "default",
                                    "variant": "ActivitySequence"
                                  },
                                  "exceptionHandlers": [
                                    {
                                      "activities": [],
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "The claim is the one this process recorded, and no service deletes a claim: it cannot be missing, so there is nothing to do.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "1cce7583-c24d-5e02-9d30-5ad371b4c6a4",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "d58ad508-6d7d-5b98-842f-cd41af16e2c8",
                                      "name": "handle Claim exists not met",
                                      "variant": "ExceptionHandler",
                                      "exception": "7dc38808-89d4-51db-8e88-e986061d5e06",
                                      "ignoresException": true
                                    }
                                  ],
                                  "messageHandlers": []
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "No documents arrive in time.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "bb710826-bc34-5f3c-83df-f84b04445bd2",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "1d3698e5-e1b1-5fd6-8d26-40d2e8dede38",
                              "name": "Deadline passes",
                              "variant": "Reaction",
                              "trigger": {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "Fourteen days to send supporting documents.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "d6d5415b-f635-5b86-8e99-11a8fd8daa8a",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "48652ac9-aebd-5e74-8ac3-d1cb211845dc",
                                "name": "Documents deadline",
                                "variant": "DurationEvent",
                                "isEvent": true,
                                "duration": "P14D",
                                "deploymentOverridable": true
                              }
                            }
                          ]
                        },
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Score the risk and price the damage at the same time.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "13308d2d-fd87-5795-b179-8d91bea8e247",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "a2ac4a2f-a9f0-5e1e-9bda-ae4536179ef5",
                          "name": "Screen and price",
                          "variant": "ConcurrentFlows",
                          "concurrentFlows": [
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Score the claim's risk.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "ad2a1f17-2085-5257-b0cf-2727b53b22b4",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "cde71ed6-866a-5c3e-ada8-0dc12663da70",
                                  "name": "Screen claim",
                                  "service": "d0f8550c-998a-5cc9-8a69-c4367973e942",
                                  "instanceKind": "singleInstance",
                                  "processingMode": "parallel",
                                  "variant": "RequestService",
                                  "requestConstraints": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'claimedAmount' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "637167b5-fcd0-5789-b585-c4efff3dd170",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "50dec7f3-2e98-5ea9-b85b-451d0f30980c",
                                      "name": "claimedAmount",
                                      "formalSpecification": {
                                        "body": "providerRequest.claimedAmount = request.damagedItems->collect(i | i.estimate)->sum()",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    }
                                  ],
                                  "defaultFlow": {
                                    "activities": [],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "48e2c14c-b226-54d9-a23d-6ae99b1d88b9",
                                    "name": "default",
                                    "variant": "ActivitySequence"
                                  },
                                  "exceptionHandlers": [],
                                  "messageHandlers": [],
                                  "responseVariable": {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "The risk score.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "dac0ae19-c913-55d5-8e14-06e77594bd0f",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "9159f5d9-f4e5-50cf-9f6e-3653f3548260",
                                    "name": "screening",
                                    "invariances": [],
                                    "dataType": "dbf28aec-e125-5e20-8444-9ed165257a59",
                                    "multiplicity": "1"
                                  }
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "Fraud screening.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "184935f8-3396-5cd3-a162-d435251fae05",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "9641e453-e114-5aaa-925b-c438d8e64663",
                              "name": "Screen",
                              "variant": "ActivitySequence"
                            },
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Price each item, totalling as it goes, until it is a write-off.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "33c428cc-ce88-5f9a-bfe0-8b27f68bb1ac",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    },
                                    {
                                      "annotations": [],
                                      "body": "A **fold**: `repairTotal` starts at nothing and grows by each item's price. It is **carried**, so it outlives the loop as its result. The loop **stops early** once the total passes the vehicle's value: the vehicle is then a write-off, and pricing the rest would change nothing.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "fb721c97-8dad-54bc-9604-33cefc7c71c1",
                                      "language": "en",
                                      "markup": "text_markdown",
                                      "name": "Details",
                                      "purpose": "detailedDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "3c7ae3b0-4112-59a7-9a54-ff86e472c460",
                                  "name": "Each damaged item",
                                  "variant": "ForEach",
                                  "processingMode": "sequential",
                                  "sourceCollection": {
                                    "body": "request.damagedItems",
                                    "specificationLanguage": "OCL"
                                  },
                                  "elementVariable": {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "The item being priced.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "8785e834-ed8c-5df7-a0e4-a37acd27564c",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "9ccbf895-8f84-597c-be35-d2c7a9d28883",
                                    "name": "item",
                                    "invariances": [],
                                    "dataType": "d18d554c-6dc5-51c9-bab1-be56b92363ab",
                                    "multiplicity": "1"
                                  },
                                  "activitySequence": {
                                    "activities": [
                                      {
                                        "annotations": [
                                          {
                                            "annotations": [],
                                            "body": "Price this item's repair.",
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "3dd77e9e-efa6-5599-a701-85b16495c754",
                                            "language": "en",
                                            "markup": "text_plain",
                                            "name": "Description",
                                            "purpose": "shortDescription"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "acfc27ad-3e23-57d1-afec-0e80434d55cb",
                                        "name": "Price damaged item",
                                        "service": "17644dfa-4455-5bd7-aa54-0ab6f78a32ad",
                                        "instanceKind": "singleInstance",
                                        "processingMode": "parallel",
                                        "variant": "RequestService",
                                        "requestConstraints": [
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How 'item' is populated for this request.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "3727decc-44df-5745-be35-90bf11469e09",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "0c4ba6cf-210e-5e2f-a5ab-fdc3a23d227c",
                                            "name": "item",
                                            "formalSpecification": {
                                              "body": "providerRequest.item = item",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "RequestConstraint"
                                          }
                                        ],
                                        "defaultFlow": {
                                          "activities": [],
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "c393dbf6-848a-5b68-8cba-fbae9c98fbc7",
                                          "name": "default",
                                          "variant": "ActivitySequence"
                                        },
                                        "exceptionHandlers": [],
                                        "messageHandlers": [],
                                        "responseVariable": {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "What this item's repair costs.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "512a12a6-d128-5161-a3e3-0278ade2126e",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "c9766a37-eedc-5071-ba63-a04dbdc0c37b",
                                          "name": "priced",
                                          "invariances": [],
                                          "dataType": "b892f3ba-a3cb-5b0e-94e6-9f632923dccf",
                                          "multiplicity": "1"
                                        }
                                      }
                                    ],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "1d66d609-b8b0-5e22-9c35-6f0b0a9fcd32",
                                    "name": "body",
                                    "variant": "ActivitySequence"
                                  },
                                  "carriedVariables": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "The repair priced so far.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "9d2202b6-6f8b-5d93-bf4c-b369b23922e8",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "ea8358ed-bbb3-5c20-aba8-0cd099a14382",
                                      "name": "repairTotal",
                                      "invariances": [],
                                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                                      "multiplicity": "1",
                                      "initialiser": {
                                        "body": "0",
                                        "specificationLanguage": "OCL"
                                      },
                                      "next": {
                                        "body": "repairTotal + priced.amount",
                                        "specificationLanguage": "OCL"
                                      }
                                    }
                                  ],
                                  "continueWhile": {
                                    "body": "repairTotal <= recorded.vehicleValue",
                                    "specificationLanguage": "OCL"
                                  }
                                },
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Whether repairing would cost more than the vehicle.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "77548682-d293-5cbe-9c70-ac99c7cb9c3a",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "9ae84b07-9fee-5eef-b6f5-8bcdfaceb6cf",
                                  "name": "writtenOff",
                                  "variant": "DefineVariable",
                                  "variable": {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "Whether repairing would cost more than the vehicle.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "05f560a2-15a8-5695-a025-d7689af65e78",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "fd69c321-f99a-5d31-abac-c4ec1dc06787",
                                    "name": "writtenOff",
                                    "invariances": [],
                                    "dataType": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
                                    "multiplicity": "1"
                                  },
                                  "initialiser": {
                                    "body": "repairTotal > recorded.vehicleValue",
                                    "specificationLanguage": "OCL"
                                  }
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "Pricing the damage.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "5ff801be-5da0-5ba1-9664-0a85e437451f",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "3ce7aa04-1e4e-52bf-8db5-14a6cacfc0f9",
                              "name": "Price",
                              "variant": "ActivitySequence"
                            }
                          ]
                        },
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Refer a high-risk claim; settle any other directly.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "650468f0-e572-5ca3-a479-39d9143a1f49",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "dc4d38e5-d112-564a-a388-9fadf10b22a4",
                          "name": "Refer to an investigator?",
                          "variant": "AlternateFlows",
                          "conditionalFlows": [
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Have an investigator look at the claim.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "2538fc56-e68d-530f-b5d5-f3965b14f118",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "2f242754-78e8-51d7-9ccc-f5dbc62e2fbc",
                                  "name": "Investigate claim",
                                  "service": "ce6a6061-1e4d-50d4-b5ac-cbb76c11573c",
                                  "instanceKind": "singleInstance",
                                  "processingMode": "parallel",
                                  "variant": "RequestService",
                                  "requestConstraints": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'claimNumber' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "dc67b0fa-f187-5696-8a8b-43b37453a553",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "4d8958c3-59be-5722-b899-4a27d9666cd0",
                                      "name": "claimNumber",
                                      "formalSpecification": {
                                        "body": "providerRequest.claimNumber = recorded.claimNumber",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    },
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'riskScore' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "ca2612a4-fff0-5559-bb1a-4f17efb733fd",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "3e781507-bcbb-590d-a320-abe125f74ed1",
                                      "name": "riskScore",
                                      "formalSpecification": {
                                        "body": "providerRequest.riskScore = screening.riskScore",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    }
                                  ],
                                  "defaultFlow": {
                                    "activities": [],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "c4b8389f-03a7-5cbb-8838-809cdbf70018",
                                    "name": "default",
                                    "variant": "ActivitySequence"
                                  },
                                  "exceptionHandlers": [],
                                  "messageHandlers": [],
                                  "responseVariable": {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "What the investigator found.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "2e93d200-7eb6-5e29-baf1-507e95c3d3f9",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "126bca2b-8b16-5925-8f54-4b2b0ee0cd1f",
                                    "name": "investigation",
                                    "invariances": [],
                                    "dataType": "4499f799-926b-501c-9389-9fe293eb56c3",
                                    "multiplicity": "1"
                                  }
                                },
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Settle a genuine claim; decline any other.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "8e83e6e1-aaa3-52a3-acfa-4f336a5abcad",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "4bf5069e-2966-56b2-a2eb-ad1f07d41db9",
                                  "name": "Genuine?",
                                  "variant": "AlternateFlows",
                                  "conditionalFlows": [
                                    {
                                      "activities": [
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "Assess, pay and repair.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "712e9bc3-c282-5016-bd34-693d5c5bc43b",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "b548fbe6-f48d-5bae-a337-feab855f0be2",
                                          "name": "Assess and settle claim",
                                          "service": "e6cb9a89-d144-511d-905c-00873dcd089e",
                                          "instanceKind": "singleInstance",
                                          "processingMode": "parallel",
                                          "variant": "RequestService",
                                          "requestConstraints": [
                                            {
                                              "annotations": [
                                                {
                                                  "annotations": [],
                                                  "body": "How 'claimNumber' is populated for this request.",
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "ce511beb-5846-512a-932f-f81b55720d68",
                                                  "language": "en",
                                                  "markup": "text_plain",
                                                  "name": "Description",
                                                  "purpose": "shortDescription"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "bb706bbe-088d-5c3c-8644-39d162391c17",
                                              "name": "claimNumber",
                                              "formalSpecification": {
                                                "body": "providerRequest.claimNumber = recorded.claimNumber",
                                                "specificationLanguage": "OCL"
                                              },
                                              "variant": "RequestConstraint"
                                            },
                                            {
                                              "annotations": [
                                                {
                                                  "annotations": [],
                                                  "body": "How 'repairTotal' is populated for this request.",
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "c56152a6-636b-5a96-8e94-72513ebe8ff3",
                                                  "language": "en",
                                                  "markup": "text_plain",
                                                  "name": "Description",
                                                  "purpose": "shortDescription"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "75c2cb97-e4b6-5923-a427-af40abe8da0c",
                                              "name": "repairTotal",
                                              "formalSpecification": {
                                                "body": "providerRequest.repairTotal = repairTotal",
                                                "specificationLanguage": "OCL"
                                              },
                                              "variant": "RequestConstraint"
                                            },
                                            {
                                              "annotations": [
                                                {
                                                  "annotations": [],
                                                  "body": "How 'sumInsured' is populated for this request.",
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "f9285e17-1513-5986-a9d1-41cb7c8f7a7e",
                                                  "language": "en",
                                                  "markup": "text_plain",
                                                  "name": "Description",
                                                  "purpose": "shortDescription"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "2e5505ad-25f3-5ad8-b29a-11016da2298d",
                                              "name": "sumInsured",
                                              "formalSpecification": {
                                                "body": "providerRequest.sumInsured = recorded.sumInsured",
                                                "specificationLanguage": "OCL"
                                              },
                                              "variant": "RequestConstraint"
                                            },
                                            {
                                              "annotations": [
                                                {
                                                  "annotations": [],
                                                  "body": "How 'excess' is populated for this request.",
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "620e4031-4262-569b-a7d5-316fd3741092",
                                                  "language": "en",
                                                  "markup": "text_plain",
                                                  "name": "Description",
                                                  "purpose": "shortDescription"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "43d273bb-0347-5856-85d8-d15c63471b97",
                                              "name": "excess",
                                              "formalSpecification": {
                                                "body": "providerRequest.excess = recorded.excess",
                                                "specificationLanguage": "OCL"
                                              },
                                              "variant": "RequestConstraint"
                                            },
                                            {
                                              "annotations": [
                                                {
                                                  "annotations": [],
                                                  "body": "How 'writtenOff' is populated for this request.",
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "5aaff25b-b3f0-5f33-9552-3af802e5e4fe",
                                                  "language": "en",
                                                  "markup": "text_plain",
                                                  "name": "Description",
                                                  "purpose": "shortDescription"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "870c8e37-5938-529f-ace3-90521fb54c4f",
                                              "name": "writtenOff",
                                              "formalSpecification": {
                                                "body": "providerRequest.writtenOff = writtenOff",
                                                "specificationLanguage": "OCL"
                                              },
                                              "variant": "RequestConstraint"
                                            }
                                          ],
                                          "defaultFlow": {
                                            "activities": [
                                              {
                                                "annotations": [
                                                  {
                                                    "annotations": [],
                                                    "body": "Return the outcome and payout.",
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "id": "6e58cfbc-7193-55a8-8c7b-c476eb5b13a3",
                                                    "language": "en",
                                                    "markup": "text_plain",
                                                    "name": "Description",
                                                    "purpose": "shortDescription"
                                                  }
                                                ],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "b6467967-7ff8-54d6-9853-757f49936480",
                                                "name": "Report the settlement",
                                                "variant": "PopulateResponse",
                                                "responseConstraints": [
                                                  {
                                                    "annotations": [
                                                      {
                                                        "annotations": [],
                                                        "body": "How the response's status is populated.",
                                                        "formalizationOf": [],
                                                        "formalizationSnapshots": [],
                                                        "id": "0dff13d7-97a7-5b20-8961-cc0618ff623f",
                                                        "language": "en",
                                                        "markup": "text_plain",
                                                        "name": "Description",
                                                        "purpose": "shortDescription"
                                                      }
                                                    ],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "id": "6413b226-5ff5-5c82-b983-b17c43530698",
                                                    "name": "status",
                                                    "formalSpecification": {
                                                      "body": "response.status = settlement.status",
                                                      "specificationLanguage": "OCL"
                                                    },
                                                    "variant": "ResponseConstraint"
                                                  },
                                                  {
                                                    "annotations": [
                                                      {
                                                        "annotations": [],
                                                        "body": "How the response's payout is populated.",
                                                        "formalizationOf": [],
                                                        "formalizationSnapshots": [],
                                                        "id": "363dccf1-a203-5397-9bda-f44972b81e62",
                                                        "language": "en",
                                                        "markup": "text_plain",
                                                        "name": "Description",
                                                        "purpose": "shortDescription"
                                                      }
                                                    ],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "id": "e850996b-86b8-5199-a814-cceaba46efb6",
                                                    "name": "payout",
                                                    "formalSpecification": {
                                                      "body": "response.payout = settlement.payout",
                                                      "specificationLanguage": "OCL"
                                                    },
                                                    "variant": "ResponseConstraint"
                                                  }
                                                ]
                                              }
                                            ],
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "ef3299bf-4bc1-5789-a470-ec3f0b3143a0",
                                            "name": "default",
                                            "variant": "ActivitySequence"
                                          },
                                          "exceptionHandlers": [
                                            {
                                              "activities": [
                                                {
                                                  "annotations": [
                                                    {
                                                      "annotations": [],
                                                      "body": "Decline the claim it could not settle.",
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "f37136e0-62f0-5967-80b3-34a1afb42c74",
                                                      "language": "en",
                                                      "markup": "text_plain",
                                                      "name": "Description",
                                                      "purpose": "shortDescription"
                                                    }
                                                  ],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "62613d14-af72-51fb-b546-4b39a9dc8ca0",
                                                  "name": "Mark declined",
                                                  "service": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                                                  "instanceKind": "singleInstance",
                                                  "processingMode": "parallel",
                                                  "variant": "RequestService",
                                                  "requestConstraints": [
                                                    {
                                                      "annotations": [
                                                        {
                                                          "annotations": [],
                                                          "body": "How 'claimNumber' is populated for this request.",
                                                          "formalizationOf": [],
                                                          "formalizationSnapshots": [],
                                                          "id": "2d492eef-ddc9-5e8a-922e-7b5194446c1d",
                                                          "language": "en",
                                                          "markup": "text_plain",
                                                          "name": "Description",
                                                          "purpose": "shortDescription"
                                                        }
                                                      ],
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "a4693f26-2e69-516b-8cf2-47b831db5f1e",
                                                      "name": "claimNumber",
                                                      "formalSpecification": {
                                                        "body": "providerRequest.claimNumber = recorded.claimNumber",
                                                        "specificationLanguage": "OCL"
                                                      },
                                                      "variant": "RequestConstraint"
                                                    },
                                                    {
                                                      "annotations": [
                                                        {
                                                          "annotations": [],
                                                          "body": "How 'status' is populated for this request.",
                                                          "formalizationOf": [],
                                                          "formalizationSnapshots": [],
                                                          "id": "7eeb5767-5abd-5a3d-b00f-58475e04b5e7",
                                                          "language": "en",
                                                          "markup": "text_plain",
                                                          "name": "Description",
                                                          "purpose": "shortDescription"
                                                        }
                                                      ],
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "5d4772e8-0e22-58e8-bd2a-036642bc7ad0",
                                                      "name": "status",
                                                      "formalSpecification": {
                                                        "body": "providerRequest.status = ClaimStatus::declined",
                                                        "specificationLanguage": "OCL"
                                                      },
                                                      "variant": "RequestConstraint"
                                                    }
                                                  ],
                                                  "defaultFlow": {
                                                    "activities": [],
                                                    "annotations": [],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "id": "6408832f-30ba-57de-8912-d3000fe09ce4",
                                                    "name": "default",
                                                    "variant": "ActivitySequence"
                                                  },
                                                  "exceptionHandlers": [
                                                    {
                                                      "activities": [],
                                                      "annotations": [
                                                        {
                                                          "annotations": [],
                                                          "body": "The claim is the one this process recorded, and no service deletes a claim: it cannot be missing, so there is nothing to do.",
                                                          "formalizationOf": [],
                                                          "formalizationSnapshots": [],
                                                          "id": "f06cf2a0-c5db-5bb9-aa74-89dcfcccfcae",
                                                          "language": "en",
                                                          "markup": "text_plain",
                                                          "name": "Description",
                                                          "purpose": "shortDescription"
                                                        }
                                                      ],
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "b1da325b-5d37-5c02-b2aa-5fddccf4bd28",
                                                      "name": "handle Claim exists not met",
                                                      "variant": "ExceptionHandler",
                                                      "exception": "7dc38808-89d4-51db-8e88-e986061d5e06",
                                                      "ignoresException": true
                                                    }
                                                  ],
                                                  "messageHandlers": []
                                                },
                                                {
                                                  "annotations": [
                                                    {
                                                      "annotations": [],
                                                      "body": "Return that nothing is paid.",
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "391fad3e-c42e-508f-a0e5-acd82af01e18",
                                                      "language": "en",
                                                      "markup": "text_plain",
                                                      "name": "Description",
                                                      "purpose": "shortDescription"
                                                    }
                                                  ],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "e7632bc2-0bbf-5b61-a12c-539620d755ee",
                                                  "name": "Report the decline",
                                                  "variant": "PopulateResponse",
                                                  "responseConstraints": [
                                                    {
                                                      "annotations": [
                                                        {
                                                          "annotations": [],
                                                          "body": "How the response's status is populated.",
                                                          "formalizationOf": [],
                                                          "formalizationSnapshots": [],
                                                          "id": "7f9bcd04-2e2d-51a0-ba68-54210e5f6301",
                                                          "language": "en",
                                                          "markup": "text_plain",
                                                          "name": "Description",
                                                          "purpose": "shortDescription"
                                                        }
                                                      ],
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "c3d26082-f428-5786-a1ca-a53e4c8ecd4f",
                                                      "name": "status",
                                                      "formalSpecification": {
                                                        "body": "response.status = ClaimStatus::declined",
                                                        "specificationLanguage": "OCL"
                                                      },
                                                      "variant": "ResponseConstraint"
                                                    },
                                                    {
                                                      "annotations": [
                                                        {
                                                          "annotations": [],
                                                          "body": "How the response's payout is populated.",
                                                          "formalizationOf": [],
                                                          "formalizationSnapshots": [],
                                                          "id": "deec6dd4-ef59-57fc-add6-8f217b774a55",
                                                          "language": "en",
                                                          "markup": "text_plain",
                                                          "name": "Description",
                                                          "purpose": "shortDescription"
                                                        }
                                                      ],
                                                      "formalizationOf": [],
                                                      "formalizationSnapshots": [],
                                                      "id": "2bfbe5f4-75f0-545b-8ec0-c5a4734ec332",
                                                      "name": "payout",
                                                      "formalSpecification": {
                                                        "body": "response.payout = 0",
                                                        "specificationLanguage": "OCL"
                                                      },
                                                      "variant": "ResponseConstraint"
                                                    }
                                                  ]
                                                }
                                              ],
                                              "annotations": [
                                                {
                                                  "annotations": [],
                                                  "body": "What is done when 'Assess and settle claim' refuses because 'Claim exists' does not hold.",
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "id": "e09ab57c-ede1-5f91-8d99-2ce68bca9b07",
                                                  "language": "en",
                                                  "markup": "text_plain",
                                                  "name": "Description",
                                                  "purpose": "shortDescription"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "0f28f392-d227-5178-b779-7cd743c92d21",
                                              "name": "handle Claim exists not met",
                                              "variant": "ExceptionHandler",
                                              "exception": "a603011e-725f-56e3-bc34-b48d6cd0c085"
                                            }
                                          ],
                                          "messageHandlers": [],
                                          "responseVariable": {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How the claim was settled.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "cbf130ea-13c2-56b9-b351-20a4f2b9f3a4",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "64608d28-fe46-5434-8f96-b64bf62fdb0e",
                                            "name": "settlement",
                                            "invariances": [],
                                            "dataType": "63231691-c892-5a46-8112-8f3b088f77f0",
                                            "multiplicity": "1"
                                          }
                                        }
                                      ],
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "Taken when the investigator found it genuine.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "eb22de9c-2784-5c7a-b141-82b2806b4da6",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "7c6d0928-f748-57ba-9b12-c5791c37ac85",
                                      "name": "The investigator found it genuine",
                                      "variant": "ConditionalFlow",
                                      "formalSpecification": {
                                        "body": "investigation.genuine",
                                        "specificationLanguage": "OCL"
                                      }
                                    }
                                  ],
                                  "defaultFlow": {
                                    "activities": [
                                      {
                                        "annotations": [
                                          {
                                            "annotations": [],
                                            "body": "Decline the claim.",
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "c5014246-a368-5dba-af74-113d8d292e63",
                                            "language": "en",
                                            "markup": "text_plain",
                                            "name": "Description",
                                            "purpose": "shortDescription"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "906dd867-35f1-5e59-8c18-1cf661fbd220",
                                        "name": "Mark declined",
                                        "service": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                                        "instanceKind": "singleInstance",
                                        "processingMode": "parallel",
                                        "variant": "RequestService",
                                        "requestConstraints": [
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How 'claimNumber' is populated for this request.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "1ebff5a7-09e8-518d-9cb1-8fa7ec6d47aa",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "633a3f58-d14f-5626-806d-3f8effd53cf4",
                                            "name": "claimNumber",
                                            "formalSpecification": {
                                              "body": "providerRequest.claimNumber = recorded.claimNumber",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "RequestConstraint"
                                          },
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How 'status' is populated for this request.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "f3b032a2-0ed5-5dac-b27f-fdeba1e623c2",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "4f72fc36-13f4-504d-b3bb-d6cde631663c",
                                            "name": "status",
                                            "formalSpecification": {
                                              "body": "providerRequest.status = ClaimStatus::declined",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "RequestConstraint"
                                          }
                                        ],
                                        "defaultFlow": {
                                          "activities": [],
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "ebbee7b5-13be-5fc6-a540-4d79b83b4308",
                                          "name": "default",
                                          "variant": "ActivitySequence"
                                        },
                                        "exceptionHandlers": [
                                          {
                                            "activities": [],
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "The claim is the one this process recorded, and no service deletes a claim: it cannot be missing, so there is nothing to do.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "8d932222-8b3a-54e0-82c1-17cfaa24ec10",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "4d154bcd-6248-51a5-ab4f-4741e77bc626",
                                            "name": "handle Claim exists not met",
                                            "variant": "ExceptionHandler",
                                            "exception": "7dc38808-89d4-51db-8e88-e986061d5e06",
                                            "ignoresException": true
                                          }
                                        ],
                                        "messageHandlers": []
                                      },
                                      {
                                        "annotations": [
                                          {
                                            "annotations": [],
                                            "body": "Return that nothing is paid.",
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "957a544c-75a7-5ed3-9a9e-7ff940cdb63f",
                                            "language": "en",
                                            "markup": "text_plain",
                                            "name": "Description",
                                            "purpose": "shortDescription"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "f00a8f46-c7d2-528f-8f02-b7329dad26c9",
                                        "name": "Report the decline",
                                        "variant": "PopulateResponse",
                                        "responseConstraints": [
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How the response's status is populated.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "06f063ba-a63d-5659-8f78-ff4823801ec1",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "65acf7c5-41f2-5c1c-b419-25f35d29dce7",
                                            "name": "status",
                                            "formalSpecification": {
                                              "body": "response.status = ClaimStatus::declined",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "ResponseConstraint"
                                          },
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How the response's payout is populated.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "b8a1e00c-15fa-513c-8776-784a29f72f4c",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "64c232f0-4697-5f06-beda-8c2fd7cb897b",
                                            "name": "payout",
                                            "formalSpecification": {
                                              "body": "response.payout = 0",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "ResponseConstraint"
                                          }
                                        ]
                                      }
                                    ],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "c29eab76-f424-5e11-adcc-c25245fc022e",
                                    "name": "otherwise",
                                    "variant": "ActivitySequence"
                                  }
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "Taken when the risk is high.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "4a072925-b2aa-5d44-8e6f-62a9b27789d3",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "0ac73f69-6f1e-59c3-933e-a6bbaf00e926",
                              "name": "The risk is high",
                              "variant": "ConditionalFlow",
                              "formalSpecification": {
                                "body": "screening.riskScore >= 70",
                                "specificationLanguage": "OCL"
                              }
                            }
                          ],
                          "defaultFlow": {
                            "activities": [
                              {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "Assess, pay and repair.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "b152ffaf-4852-5451-89df-63efd2fc5b7a",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "a77dcc30-cc38-50d5-a82e-ea05417e403a",
                                "name": "Assess and settle claim",
                                "service": "e6cb9a89-d144-511d-905c-00873dcd089e",
                                "instanceKind": "singleInstance",
                                "processingMode": "parallel",
                                "variant": "RequestService",
                                "requestConstraints": [
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'claimNumber' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "afa873eb-e26c-576e-b3c6-c7a2535a43c3",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "4da4aaaf-701a-5e2e-b9af-e754f8fddac4",
                                    "name": "claimNumber",
                                    "formalSpecification": {
                                      "body": "providerRequest.claimNumber = recorded.claimNumber",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'repairTotal' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "655c3c53-450c-561b-a153-53afb7dc7e85",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "d6d65828-db63-5124-93a7-3222a81bb423",
                                    "name": "repairTotal",
                                    "formalSpecification": {
                                      "body": "providerRequest.repairTotal = repairTotal",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'sumInsured' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "39628a8c-19a0-53ac-9a02-7f6ca5a2da61",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "de0bb1ea-726c-524c-8e58-32f984206ac4",
                                    "name": "sumInsured",
                                    "formalSpecification": {
                                      "body": "providerRequest.sumInsured = recorded.sumInsured",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'excess' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "3aa63121-46b8-5dd7-b6ec-477fc9af1ff5",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "99bf5f6b-83dc-57cf-9ae7-1fff53f11d3d",
                                    "name": "excess",
                                    "formalSpecification": {
                                      "body": "providerRequest.excess = recorded.excess",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  },
                                  {
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "How 'writtenOff' is populated for this request.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "407a87a4-6a71-543a-add4-19d2176d2bee",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "d69c1bf9-6b70-56e8-9f0e-d1f63fd32fc5",
                                    "name": "writtenOff",
                                    "formalSpecification": {
                                      "body": "providerRequest.writtenOff = writtenOff",
                                      "specificationLanguage": "OCL"
                                    },
                                    "variant": "RequestConstraint"
                                  }
                                ],
                                "defaultFlow": {
                                  "activities": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "Return the outcome and payout.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "fefb8bfa-4629-5906-8633-10e5a55ddb5e",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "c5d4c8c3-e987-5331-b99b-afd6f26991ae",
                                      "name": "Report the settlement",
                                      "variant": "PopulateResponse",
                                      "responseConstraints": [
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "How the response's status is populated.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "027be3cd-23e1-5116-ac37-157f2d6323f4",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "f020e4ff-a8e3-562a-8fc7-1929fe83d440",
                                          "name": "status",
                                          "formalSpecification": {
                                            "body": "response.status = settlement.status",
                                            "specificationLanguage": "OCL"
                                          },
                                          "variant": "ResponseConstraint"
                                        },
                                        {
                                          "annotations": [
                                            {
                                              "annotations": [],
                                              "body": "How the response's payout is populated.",
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "id": "798a4d5d-9954-5776-b054-083ff3b4353d",
                                              "language": "en",
                                              "markup": "text_plain",
                                              "name": "Description",
                                              "purpose": "shortDescription"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "ec67d15f-30f4-57a4-a349-06289f4efac1",
                                          "name": "payout",
                                          "formalSpecification": {
                                            "body": "response.payout = settlement.payout",
                                            "specificationLanguage": "OCL"
                                          },
                                          "variant": "ResponseConstraint"
                                        }
                                      ]
                                    }
                                  ],
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "58eba2a9-85e1-5505-97e6-c1bda89d703a",
                                  "name": "default",
                                  "variant": "ActivitySequence"
                                },
                                "exceptionHandlers": [
                                  {
                                    "activities": [
                                      {
                                        "annotations": [
                                          {
                                            "annotations": [],
                                            "body": "Decline the claim it could not settle.",
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "0318d792-5297-523c-b24e-b7cc7bbef4e0",
                                            "language": "en",
                                            "markup": "text_plain",
                                            "name": "Description",
                                            "purpose": "shortDescription"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "d025ed03-cf70-5d92-8cdc-309456506bba",
                                        "name": "Mark declined",
                                        "service": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                                        "instanceKind": "singleInstance",
                                        "processingMode": "parallel",
                                        "variant": "RequestService",
                                        "requestConstraints": [
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How 'claimNumber' is populated for this request.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "1b2466bc-8626-50f4-abc4-67e7b5bb17b0",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "9640aa6c-86c5-51b2-a1b7-28fdfd7e8eb3",
                                            "name": "claimNumber",
                                            "formalSpecification": {
                                              "body": "providerRequest.claimNumber = recorded.claimNumber",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "RequestConstraint"
                                          },
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How 'status' is populated for this request.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "67e80f7d-a942-568b-b0c3-ecf2a8acfec1",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "1549f1c7-3a57-5060-b10f-c20f37bf5461",
                                            "name": "status",
                                            "formalSpecification": {
                                              "body": "providerRequest.status = ClaimStatus::declined",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "RequestConstraint"
                                          }
                                        ],
                                        "defaultFlow": {
                                          "activities": [],
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "d2ca6e36-68a0-5464-a0d4-5b8b1f06833c",
                                          "name": "default",
                                          "variant": "ActivitySequence"
                                        },
                                        "exceptionHandlers": [
                                          {
                                            "activities": [],
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "The claim is the one this process recorded, and no service deletes a claim: it cannot be missing, so there is nothing to do.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "308c71ad-b2f1-5fe6-9869-61e6adeb2167",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "a56fc70d-a292-5ddd-9b49-17bb8e3111de",
                                            "name": "handle Claim exists not met",
                                            "variant": "ExceptionHandler",
                                            "exception": "7dc38808-89d4-51db-8e88-e986061d5e06",
                                            "ignoresException": true
                                          }
                                        ],
                                        "messageHandlers": []
                                      },
                                      {
                                        "annotations": [
                                          {
                                            "annotations": [],
                                            "body": "Return that nothing is paid.",
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "ef8ead49-c651-5e56-b234-707d7073427a",
                                            "language": "en",
                                            "markup": "text_plain",
                                            "name": "Description",
                                            "purpose": "shortDescription"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "6e91b6ec-a402-5b16-81a1-60a534ce214f",
                                        "name": "Report the decline",
                                        "variant": "PopulateResponse",
                                        "responseConstraints": [
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How the response's status is populated.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "d96bdfb6-ddca-5ea2-a69a-33e076d2633a",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "5a6d9314-4d22-5acc-8efb-5681e8aa9f3a",
                                            "name": "status",
                                            "formalSpecification": {
                                              "body": "response.status = ClaimStatus::declined",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "ResponseConstraint"
                                          },
                                          {
                                            "annotations": [
                                              {
                                                "annotations": [],
                                                "body": "How the response's payout is populated.",
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "id": "ba3769fa-c596-5efa-b881-339ef6705e67",
                                                "language": "en",
                                                "markup": "text_plain",
                                                "name": "Description",
                                                "purpose": "shortDescription"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "id": "35ada8ed-cfa1-5952-bca3-61e8c5fb2337",
                                            "name": "payout",
                                            "formalSpecification": {
                                              "body": "response.payout = 0",
                                              "specificationLanguage": "OCL"
                                            },
                                            "variant": "ResponseConstraint"
                                          }
                                        ]
                                      }
                                    ],
                                    "annotations": [
                                      {
                                        "annotations": [],
                                        "body": "What is done when 'Assess and settle claim' refuses because 'Claim exists' does not hold.",
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "id": "69e69e9f-360f-5a36-a5d7-fcfd4515d314",
                                        "language": "en",
                                        "markup": "text_plain",
                                        "name": "Description",
                                        "purpose": "shortDescription"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "0c64ee1c-1c52-5495-b884-d9856803c9a5",
                                    "name": "handle Claim exists not met",
                                    "variant": "ExceptionHandler",
                                    "exception": "a603011e-725f-56e3-bc34-b48d6cd0c085"
                                  }
                                ],
                                "messageHandlers": [],
                                "responseVariable": {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "How the claim was settled.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "0e7b6357-1c03-5d0c-ac01-3ce59687a2ec",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "39b30e95-1dc3-5b79-982c-18a614c2c2ec",
                                  "name": "settlement",
                                  "invariances": [],
                                  "dataType": "63231691-c892-5a46-8112-8f3b088f77f0",
                                  "multiplicity": "1"
                                }
                              }
                            ],
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "b92ca5c0-0ec1-5495-93ae-9df7c826de28",
                            "name": "otherwise",
                            "variant": "ActivitySequence"
                          }
                        }
                      ],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a7e9f2eb-4960-59b2-89c2-4be59ab31f2d",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [
                      {
                        "activities": [
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "The policy stopped covering the incident after the check: refuse in this service's terms, telling the client which policy and moment.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "9b287afc-740e-58a0-b792-70c4e0e6e329",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "ba9c2c05-e46f-508d-9cc8-cb2410f88d2e",
                            "name": "Refuse: Policy in force at the incident not met",
                            "variant": "RaiseException",
                            "exception": "5994df7c-d5b3-5022-b37e-9a28963165fc",
                            "exceptionConstraints": [
                              {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "What the exception's policyNumber is.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "1783331a-cb7c-5cc0-b4b4-21800f5f344f",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "1596242a-e457-57d0-914d-c5c0e1609bee",
                                "name": "policyNumber",
                                "formalSpecification": {
                                  "body": "raised.policyNumber = request.policyNumber",
                                  "specificationLanguage": "OCL"
                                },
                                "variant": "ExceptionConstraint"
                              },
                              {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "What the exception's incidentAt is.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "4d7c2312-133f-5824-a5ef-c149fb5a85c0",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "09ef88f0-5210-593b-93a8-754552e0a2da",
                                "name": "incidentAt",
                                "formalSpecification": {
                                  "body": "raised.incidentAt = request.incidentAt",
                                  "specificationLanguage": "OCL"
                                },
                                "variant": "ExceptionConstraint"
                              }
                            ]
                          }
                        ],
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What is done when 'Record claim' refuses because 'Policy in force at the incident' does not hold.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "a7dcf7ff-6f85-5793-a6ea-ef5a7326dde4",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "c42efea3-129c-570d-b1c6-675b27cd590c",
                        "name": "handle Policy in force at the incident not met",
                        "variant": "ExceptionHandler",
                        "exception": "8d3ce45d-0456-54df-b283-aa54550a280f"
                      }
                    ],
                    "messageHandlers": [],
                    "responseVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim's number, and the cover it is made under.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "e6d93bc3-faad-520a-be38-51f8e3bf81b8",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "8218e6e1-9b37-5b3a-acc0-03579022e4e8",
                      "name": "recorded",
                      "invariances": [],
                      "dataType": "b420eed7-802d-59eb-8729-2cc71384c699",
                      "multiplicity": "1"
                    }
                  }
                ],
                "requirementAllocations": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Record claim' is the step that discharges 'Claim recorded against the policy'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "22943f74-4549-59bf-bd58-c3665c933e83",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "fd98bbe9-ff96-5f14-ba8d-d737ba5f0418",
                    "name": "Claim recorded against the policy ← Record claim",
                    "toAddress": "599673e2-4f23-56ae-81b3-68e30a3164cc",
                    "addressedBy": "6b320181-9d12-5340-ae87-c4d93fab3731"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Refer to an investigator?' is the step that discharges 'Outcome recorded'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0e7b17f9-e3e9-5b3d-969d-b6015c98a621",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "194994da-b1e0-550f-a8b2-325a4f50c000",
                    "name": "Outcome recorded ← Refer to an investigator?",
                    "toAddress": "22097225-11b7-5d2d-8962-30b7a31f4a84",
                    "addressedBy": "dc4d38e5-d112-564a-a388-9fadf10b22a4"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Refer to an investigator?' is the step that discharges 'Payout within cover'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a3904a48-54c7-5412-8953-43538de629ee",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "2384da3d-7e37-5035-9e84-711f5137d678",
                    "name": "Payout within cover ← Refer to an investigator?",
                    "toAddress": "d3d86d08-0e22-5c3e-91e4-cec91c0e6fe0",
                    "addressedBy": "dc4d38e5-d112-564a-a388-9fadf10b22a4"
                  }
                ],
                "unplacedActivities": {
                  "activities": [],
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "971c7861-3d68-57f0-8920-b0b4b0f5ca38-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence"
                },
                "variant": "Process"
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Finds the policy's claims in the period and reports them.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a6373fef-a1b0-5d7e-9e81-599e2aea112f",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "bb3aa20d-3070-540b-9d7e-d728be6e279e",
                "name": "Provide claims report",
                "serviceContract": "79c1da9f-b038-5d69-80cf-7981574824e3",
                "activities": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Policy exists' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "25f98f3a-b998-5917-8a60-3f9a823f58c3",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "59329ec9-a540-5bdc-b12d-6b511a678b3c",
                    "name": "Policy exists",
                    "preCondition": "456fac72-de7b-534b-8f03-eaffb299ecb2",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Requested by the policy owner' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ce4fcc4b-52af-511c-a1b2-c8bc255e96ec",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c9a2fcc4-9faa-5443-82d5-30067a08ec0a",
                    "name": "Requested by the policy owner",
                    "preCondition": "7a06ac5e-87ba-52b1-acd3-34b3f5bd7637",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Period is valid' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "cd2dda20-1d0a-5a90-8580-21d53e266e1b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3970b2c7-b74e-5135-8ac5-26c9fa55acfd",
                    "name": "Period is valid",
                    "preCondition": "1431a395-ffbc-5f1e-ab84-8e5094b4af4c",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Find the claims in the period.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "5a80745b-f487-5cec-8745-024dfa8eac3e",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d55fdddf-ec89-56f4-b903-57b58122e91a",
                    "name": "Find claims",
                    "service": "436a145d-4b54-5df5-ad53-6f2d06f9a994",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'policyNumber' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "aebaac26-976b-58fe-8e1b-fe62b23e5f2f",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "7857d02c-898c-592f-8d63-f8d4f0048815",
                        "name": "policyNumber",
                        "formalSpecification": {
                          "body": "providerRequest.policyNumber = request.policyNumber",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'from' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "17818e09-3104-5867-b5c0-d0f5a0d02b75",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "678ad111-a5e0-5d4c-b81a-bf4e36d1187c",
                        "name": "from",
                        "formalSpecification": {
                          "body": "providerRequest.from = request.from",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'to' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "2293c8cc-1d74-5fe3-9763-8749d9dac712",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1d3d9380-112e-59ae-9e7b-d6a6dccedd76",
                        "name": "to",
                        "formalSpecification": {
                          "body": "providerRequest.to = request.to",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Return the claims found.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "00eb37c4-bc8c-5920-86ba-08ee6323f365",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "a1c05223-7747-5cf9-9c2f-729064372df2",
                          "name": "Report the claims",
                          "variant": "PopulateResponse",
                          "responseConstraints": [
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How the response's claims is populated.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "cb03b9b4-0c1f-5589-aba0-5b6d11990309",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "060bbe49-33e0-5bf9-8d73-d425b2fdf3c6",
                              "name": "claims",
                              "formalSpecification": {
                                "body": "response.claims = found.claims",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "ResponseConstraint"
                            }
                          ]
                        }
                      ],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4cfea39f-0bef-5045-bf4b-d9685836db7e",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [
                      {
                        "activities": [
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "The policy went after the check: refuse in this service's terms.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "bf13db6c-5347-53e0-bc87-cff0bb0d997e",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "b78567cf-1f27-54bc-914b-7885256d522e",
                            "name": "Refuse: Policy exists not met",
                            "variant": "RaiseException",
                            "exception": "88689b20-bfa5-53d5-a708-04931e39fc00",
                            "exceptionConstraints": []
                          }
                        ],
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What is done when 'Find claims' refuses because 'Policy exists' does not hold.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "02029855-3577-580f-b3e0-7a62e530cda6",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "7c298480-5c41-549f-bf14-4602d46e6c17",
                        "name": "handle Policy exists not met",
                        "variant": "ExceptionHandler",
                        "exception": "c823ed80-7372-53b4-924b-456be066f1a0"
                      }
                    ],
                    "messageHandlers": [],
                    "responseVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claims in the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "962813e4-ce70-56d8-a3ba-77cd06200f05",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e2a65ba5-dd0d-5c69-ae17-2ce2ffe2dc6e",
                      "name": "found",
                      "invariances": [],
                      "dataType": "68bd5f85-65cc-53e3-9263-71b3da94510f",
                      "multiplicity": "1"
                    }
                  }
                ],
                "requirementAllocations": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Find claims' is the step that discharges 'Every claim in the period'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "5b29c9e6-e51a-5a94-8d43-84e3dc0d081b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "70cd59e9-a01c-5426-9219-b6bf7929d37d",
                    "name": "Every claim in the period ← Find claims",
                    "toAddress": "6533bee0-006a-5b31-b20a-de15283585c4",
                    "addressedBy": "d55fdddf-ec89-56f4-b903-57b58122e91a"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Find claims' is the step that discharges 'Only claims in the period'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0b231ceb-5fa4-5e92-94bb-d1e675122403",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6ed3db00-89c9-5083-b673-a7499c5b272d",
                    "name": "Only claims in the period ← Find claims",
                    "toAddress": "5886a5f0-9b18-5034-a7fa-570fab855949",
                    "addressedBy": "d55fdddf-ec89-56f4-b903-57b58122e91a"
                  }
                ],
                "unplacedActivities": {
                  "activities": [],
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "bb3aa20d-3070-540b-9d7e-d728be6e279e-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence"
                },
                "variant": "Process"
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "An assessor assesses the loss — asking the client for more until the assessment is complete — then the payout is computed, recorded and paid, and the vehicle repaired unless written off.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "8f054147-3edb-54da-af44-b9d28796bf6f",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "**While, with carried variables.** The loop carries whether the assessment is `complete` and the amount `assessed` so far; each time round the assessor answers, and when they need more the client is asked, as a task of their own. At most 5 rounds.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "9e876fe6-8bd6-57bc-b683-ae219511dbbf",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "4ca5dce8-4328-5518-8f79-2baa8a84977d",
                "name": "Assess and settle claim",
                "serviceContract": "e6cb9a89-d144-511d-905c-00873dcd089e",
                "activities": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Refuse unless 'Claim exists' holds.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "8044ebc6-d299-5f8b-a9bc-91e18472830e",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "e5d6f8b5-00fc-5ee6-bd0e-0908c727085c",
                    "name": "Claim exists",
                    "preCondition": "fbf41ab2-745f-5d5f-b3b0-906ab53faa34",
                    "variant": "CheckPreCondition"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Assess, asking the client for more, until complete.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "776dfa95-734c-5351-bd4f-253426df9963",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "85bb50e0-7720-5518-821e-7ce24b4406b1",
                    "name": "Until the assessment is complete",
                    "variant": "While",
                    "continueWhile": {
                      "body": "not complete",
                      "specificationLanguage": "OCL"
                    },
                    "testBefore": true,
                    "carriedVariables": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "Whether the assessment is done.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "fa7e0c56-d628-562f-a056-483c5822550f",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "f9d32990-d384-5ab0-a813-809c32b31a22",
                        "name": "complete",
                        "invariances": [],
                        "dataType": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
                        "multiplicity": "1",
                        "initialiser": {
                          "body": "false",
                          "specificationLanguage": "OCL"
                        },
                        "next": {
                          "body": "assessment.complete",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "The loss assessed so far.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "1a6f2514-5ca0-5bfe-b76f-bdb5ae6d350f",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "f78f07fa-07ea-5a67-92dc-7490f761d478",
                        "name": "assessed",
                        "invariances": [],
                        "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                        "multiplicity": "1",
                        "initialiser": {
                          "body": "0",
                          "specificationLanguage": "OCL"
                        },
                        "next": {
                          "body": "assessment.assessedAmount",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "activitySequence": {
                      "activities": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "The assessor assesses the loss.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "e40e70f8-bdaa-5e46-aef7-26ae2f092979",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5c6b5697-add3-5b19-98cd-7017a8efbeb7",
                          "name": "Assess claim",
                          "service": "b1938b22-d3ad-5127-b8bf-ec60987cbe4a",
                          "instanceKind": "singleInstance",
                          "processingMode": "parallel",
                          "variant": "RequestService",
                          "requestConstraints": [
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How 'claimNumber' is populated for this request.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "b0aaa722-ceea-574c-b830-d3be7edad353",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "f181c73d-26e6-5d38-aeb3-99bb39136a6b",
                              "name": "claimNumber",
                              "formalSpecification": {
                                "body": "providerRequest.claimNumber = request.claimNumber",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "RequestConstraint"
                            },
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How 'repairTotal' is populated for this request.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "51e3ba75-405f-5b99-95b3-0920b339d61c",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "57e99da5-29ed-57fc-a607-8b01e33a8982",
                              "name": "repairTotal",
                              "formalSpecification": {
                                "body": "providerRequest.repairTotal = request.repairTotal",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "RequestConstraint"
                            }
                          ],
                          "defaultFlow": {
                            "activities": [],
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "cbc26aea-e222-55e8-8e8b-b43df40f6060",
                            "name": "default",
                            "variant": "ActivitySequence"
                          },
                          "exceptionHandlers": [],
                          "messageHandlers": [],
                          "compensationNotNeeded": "An assessment is advice: nothing acts on it until the claim is settled, so a claim refused before then leaves nothing of it to undo.",
                          "responseVariable": {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "The assessor's answer.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "613509b3-76e8-512e-87e8-922554d20377",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "b0cd1479-cbb8-5e2a-8261-53085873aebf",
                            "name": "assessment",
                            "invariances": [],
                            "dataType": "a487c4b0-3955-579a-ac94-228be7b0a1b1",
                            "multiplicity": "1"
                          }
                        },
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "Ask the client when the assessor needs more.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "d48d93a5-565f-5501-9de6-4ef6d6e63895",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "e9aaa0ba-5be0-58fc-ba48-b181e3e98628",
                          "name": "More needed?",
                          "variant": "AlternateFlows",
                          "conditionalFlows": [
                            {
                              "activities": [
                                {
                                  "annotations": [
                                    {
                                      "annotations": [],
                                      "body": "Ask the client what the assessor needs.",
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "61b501e4-6822-525f-894c-f93caa57f10c",
                                      "language": "en",
                                      "markup": "text_plain",
                                      "name": "Description",
                                      "purpose": "shortDescription"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "3470a405-b2fc-53b2-8b15-b1b793447094",
                                  "name": "Provide further information",
                                  "service": "5302115d-1677-5a69-8901-617d2712c1b7",
                                  "instanceKind": "singleInstance",
                                  "processingMode": "parallel",
                                  "variant": "RequestService",
                                  "requestConstraints": [
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'claimNumber' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "ce80a60d-9b30-55b7-ba36-5091b7110c94",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "5bf97f92-5fdb-5963-93e0-0435f1fc1d4c",
                                      "name": "claimNumber",
                                      "formalSpecification": {
                                        "body": "providerRequest.claimNumber = request.claimNumber",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    },
                                    {
                                      "annotations": [
                                        {
                                          "annotations": [],
                                          "body": "How 'query' is populated for this request.",
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "id": "1e3c058c-64a2-5521-8839-c475e1cf86b2",
                                          "language": "en",
                                          "markup": "text_plain",
                                          "name": "Description",
                                          "purpose": "shortDescription"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "id": "b6caac97-771a-5a77-ab7c-d46615173994",
                                      "name": "query",
                                      "formalSpecification": {
                                        "body": "providerRequest.query = assessment.query",
                                        "specificationLanguage": "OCL"
                                      },
                                      "variant": "RequestConstraint"
                                    }
                                  ],
                                  "defaultFlow": {
                                    "activities": [],
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "c5f8041b-60db-5af3-b5f8-2fe9cdabc191",
                                    "name": "default",
                                    "variant": "ActivitySequence"
                                  },
                                  "exceptionHandlers": [],
                                  "messageHandlers": [],
                                  "compensationNotNeeded": "The client's answer becomes part of the claim's record whether or not the claim is settled; there is nothing to take back."
                                }
                              ],
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "Taken when the assessment is not complete.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "465bb1ae-1b99-5f06-ae07-28c479706020",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "c01823ba-c4f8-51d6-86b6-57d97b2a07fa",
                              "name": "The assessment is not complete",
                              "variant": "ConditionalFlow",
                              "formalSpecification": {
                                "body": "not assessment.complete",
                                "specificationLanguage": "OCL"
                              }
                            }
                          ],
                          "defaultFlow": {
                            "activities": [],
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "23dc5b30-8c59-54e8-a7af-7d9212014dde",
                            "name": "otherwise",
                            "variant": "ActivitySequence"
                          }
                        }
                      ],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e797898d-2005-5b32-8cc1-c15afd8db9ed",
                      "name": "body",
                      "variant": "ActivitySequence"
                    },
                    "maxIterations": 5
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Work out what is paid.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "35af2744-68b4-5b4b-84b8-e7de2a1d29d2",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5af6bb94-2fba-5d63-af0a-c80112e8d27c",
                    "name": "Compute payout",
                    "service": "e77790f4-7ffb-56b9-a17a-9b9b34d0057f",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'assessedAmount' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "2573418c-cbdb-58fa-ad3c-1f1bf738140b",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e4dabab4-9b08-564b-a3ec-6104877bb013",
                        "name": "assessedAmount",
                        "formalSpecification": {
                          "body": "providerRequest.assessedAmount = assessed",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'sumInsured' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "0b2c1051-0f7e-517c-9b65-0b7111331158",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "5388a812-f0ed-5c52-9dfd-7600629f1a64",
                        "name": "sumInsured",
                        "formalSpecification": {
                          "body": "providerRequest.sumInsured = request.sumInsured",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'excess' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "cc8a48de-e136-5133-8383-750a9a78eb6c",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "d8341c2d-b10d-55a3-8124-caf44a66711b",
                        "name": "excess",
                        "formalSpecification": {
                          "body": "providerRequest.excess = request.excess",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "aa53657b-0a15-5b59-b741-8bd47fafd0d4",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": [],
                    "responseVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The payout.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "cff5aefb-9d56-513a-b646-9e6972eae31b",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "228b5b6b-246e-5977-932d-6de22a8a70fd",
                      "name": "computed",
                      "invariances": [],
                      "dataType": "0f8064fa-85ea-5c53-9042-64bfd0b9d7c1",
                      "multiplicity": "1"
                    }
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Record the claim as settled, with its payout.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1b743704-e805-5335-9c79-b71e05a2abeb",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "c2ac9181-cbcc-5f5d-9a88-cacc1e283593",
                    "name": "Mark settled",
                    "service": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'claimNumber' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "0e378442-beb5-5586-a7d3-6b1538e044e6",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ce2d4340-7fd1-5bf3-a240-b41e412c32ab",
                        "name": "claimNumber",
                        "formalSpecification": {
                          "body": "providerRequest.claimNumber = request.claimNumber",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'status' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "d36c1471-2654-51a0-9be5-92db304511a8",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "942da340-bf08-5d43-8336-92b79e5f41da",
                        "name": "status",
                        "formalSpecification": {
                          "body": "providerRequest.status = ClaimStatus::settled",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'payout' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "54a32808-4826-5bf0-a79b-b33c0917d7a6",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e437ebec-fe39-5f72-9f26-536d69a7cedf",
                        "name": "payout",
                        "formalSpecification": {
                          "body": "providerRequest.payout = computed.payout",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "14a963b0-de21-5436-a445-bae8f9fb9026",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [
                      {
                        "activities": [
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "The claim went after the check: refuse in this service's terms.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "80b3a18a-861c-58cb-b9b7-119c236f52e3",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "fc95c39a-dd39-5d2e-b6df-4cb0da6921ae",
                            "name": "Refuse: Claim exists not met",
                            "variant": "RaiseException",
                            "exception": "a603011e-725f-56e3-bc34-b48d6cd0c085",
                            "exceptionConstraints": []
                          }
                        ],
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What is done when 'Update claim' refuses because 'Claim exists' does not hold.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "8b74ce80-decd-5651-aaa5-3d5959c040c7",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "344d1177-38cd-5c59-84c4-6107a7c3a58e",
                        "name": "handle Claim exists not met",
                        "variant": "ExceptionHandler",
                        "exception": "7dc38808-89d4-51db-8e88-e986061d5e06"
                      }
                    ],
                    "messageHandlers": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Pay the client.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "c6c605d7-2ecb-5f73-8b1f-147a728d9781",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "aa6a884f-9ade-512e-a75a-d361bdcea69a",
                    "name": "Pay claim",
                    "service": "ab943dc4-76f7-5b90-8643-4a28c57658b4",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'claimNumber' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "1293d8c2-0a19-50d8-9968-792d633822e7",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "f6d5b137-f4a5-547c-92ad-0eca78cbb89a",
                        "name": "claimNumber",
                        "formalSpecification": {
                          "body": "providerRequest.claimNumber = request.claimNumber",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'amount' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "52cb0e6e-8201-50a3-b567-e1278e3a04d9",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a22a2415-4afa-5c42-a2a9-5f47eaef253a",
                        "name": "amount",
                        "formalSpecification": {
                          "body": "providerRequest.amount = computed.payout",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3dd87b26-be6b-508f-975c-3516950664f4",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Repair the vehicle unless written off.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "197e184f-7b30-51b1-89b1-e45daae6c5a9",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "60df698f-d172-59dd-9a0f-4208a194f0f4",
                    "name": "Repairable?",
                    "variant": "AlternateFlows",
                    "conditionalFlows": [
                      {
                        "activities": [
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "Ask the panel repairers in turn until one takes it on.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "d3212efd-548a-55f1-9cc9-662fd5460b9e",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              },
                              {
                                "annotations": [],
                                "body": "**Multi-instance, in turn.** Each provider of *Offer repair* is asked until one answers that it accepts; the rest are not asked.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "23efd463-bca4-555a-9e05-b5fdf9fbc135",
                                "language": "en",
                                "markup": "text_markdown",
                                "name": "Details",
                                "purpose": "detailedDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "4cf02852-0636-5527-96dc-fcba26732f10",
                            "name": "Offer repair",
                            "service": "10d46e3b-528b-5f9a-bd0f-ffe4a4a94e25",
                            "instanceKind": "multiInstance",
                            "processingMode": "sequential",
                            "variant": "RequestService",
                            "providerMultiplicity": "1..*",
                            "continueWhile": {
                              "body": "not offer.accepted",
                              "specificationLanguage": "OCL"
                            },
                            "requestConstraints": [
                              {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "How 'claimNumber' is populated for this request.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "588d133b-09f5-5d0d-b7d7-6839daa56ed2",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "88930696-37a0-5739-9ffa-7dee53913371",
                                "name": "claimNumber",
                                "formalSpecification": {
                                  "body": "providerRequest.claimNumber = request.claimNumber",
                                  "specificationLanguage": "OCL"
                                },
                                "variant": "RequestConstraint"
                              }
                            ],
                            "defaultFlow": {
                              "activities": [],
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "df21c20d-990a-5501-8143-bf016f1b218e",
                              "name": "default",
                              "variant": "ActivitySequence"
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": [],
                            "compensationNotNeeded": "An offer binds nobody: nothing is booked until the repair is requested.",
                            "responseVariable": {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "This repairer's answer.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "d533501c-95f7-53dd-9868-380145e14920",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "77d31e0b-0a61-54eb-8a30-778b450dcec2",
                              "name": "offer",
                              "invariances": [],
                              "dataType": "b8da3501-5fef-56c4-8488-6c191ed25481",
                              "multiplicity": "1"
                            }
                          },
                          {
                            "annotations": [
                              {
                                "annotations": [],
                                "body": "Have a panel repairer repair the vehicle.",
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "15dff857-4582-57ae-a255-b858f44dcc07",
                                "language": "en",
                                "markup": "text_plain",
                                "name": "Description",
                                "purpose": "shortDescription"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "fc84e4cb-589d-55e3-aa50-2a8d7763be7a",
                            "name": "Repair vehicle",
                            "service": "b4e6e35c-caa6-5d05-ac01-b74b17363423",
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "variant": "RequestService",
                            "requestConstraints": [
                              {
                                "annotations": [
                                  {
                                    "annotations": [],
                                    "body": "How 'claimNumber' is populated for this request.",
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "id": "1c92d133-fb4c-5f4d-b4d8-14a1d5af672b",
                                    "language": "en",
                                    "markup": "text_plain",
                                    "name": "Description",
                                    "purpose": "shortDescription"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "id": "0903d7d2-0366-5f29-be59-9f8b0b7e6ef8",
                                "name": "claimNumber",
                                "formalSpecification": {
                                  "body": "providerRequest.claimNumber = request.claimNumber",
                                  "specificationLanguage": "OCL"
                                },
                                "variant": "RequestConstraint"
                              }
                            ],
                            "defaultFlow": {
                              "activities": [],
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "76c4fe73-87a6-5a84-9d46-936c0479922f",
                              "name": "default",
                              "variant": "ActivitySequence"
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": []
                          }
                        ],
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "Taken when the vehicle is repairable.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "2916d324-4827-53d1-a8e3-35d3a08a799f",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "11de570b-cffd-51e3-a905-e62281faeaf7",
                        "name": "The vehicle is repairable",
                        "variant": "ConditionalFlow",
                        "formalSpecification": {
                          "body": "not request.writtenOff",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "defaultFlow": {
                      "activities": [],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "dd761447-49a5-553e-b2ab-b746c065fd2b",
                      "name": "otherwise",
                      "variant": "ActivitySequence"
                    }
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Return what was paid.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "2fb40250-a1a3-5ba4-97a6-97a4c3a9f6a7",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "98e48fdf-33ab-5f71-af7a-d398173676df",
                    "name": "Report the payout",
                    "variant": "PopulateResponse",
                    "responseConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How the response's payout is populated.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "eb9fa983-c6d1-51e2-81e2-e5452fc46f50",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "745e9907-6269-57f0-82fb-07f0c6d4fa7f",
                        "name": "payout",
                        "formalSpecification": {
                          "body": "response.payout = computed.payout",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "ResponseConstraint"
                      }
                    ]
                  }
                ],
                "requirementAllocations": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Mark settled' is the step that discharges 'Claim settled'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "3684f520-2385-5c5c-b6ba-d98897ad7cf5",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "84418f87-6720-583c-9677-e916f991bba5",
                    "name": "Claim settled ← Mark settled",
                    "toAddress": "f6c402a5-c870-57f6-b14a-44d4b997f167",
                    "addressedBy": "c2ac9181-cbcc-5f5d-9a88-cacc1e283593"
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Compute payout' is the step that discharges 'Payout within cover'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "399903a3-cb75-5c00-a3b7-6a803167defb",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d90edfd3-2eb6-5907-b838-a9f6ff57f41d",
                    "name": "Payout within cover ← Compute payout",
                    "toAddress": "e5bd5fe9-0be5-57d9-ba88-543b4cffdf27",
                    "addressedBy": "5af6bb94-2fba-5d63-af0a-c80112e8d27c"
                  }
                ],
                "unplacedActivities": {
                  "activities": [],
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "4ca5dce8-4328-5518-8f79-2baa8a84977d-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence"
                },
                "variant": "Process"
              }
            ],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A client claims against their policy, and the insurer settles or declines it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "2f63f432-1b45-5077-b992-fded93f24953",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "The long-running use case: it waits on the client's documents, on investigators, assessors and repairers, and may take weeks. Each wait is a step of the process, not a gap in it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7d9f3cd6-d995-5de5-80a3-5b6ee0e868a8",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "cc1efc0d-226b-5344-97ee-4c41706263ff",
                "name": "Process claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Process claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "d1299b49-c1fc-5a3d-842d-23a8b54b903a",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "ecbbe06f-2282-5358-ac1e-22ff3fe2bca9",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy claimed against.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9d1b787a-442a-5938-a198-1e8490955a7a",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "592c1d7e-875d-50c3-ba1e-e46c3243cc9d",
                      "name": "policyNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "When the incident happened.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "77103b45-8e22-5810-85d6-4a24f2cea57b",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "68ebf5ee-c0e6-5aaa-8693-d60349c8b8b4",
                      "name": "incidentAt",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What happened.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8b96bd64-5ae4-57e4-9526-658fcf3e1dc4",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "61b6365d-5268-57bc-85c7-6fca1bb50399",
                      "name": "description",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What was damaged.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "12e57c3f-d743-5715-8838-a5759cd41e59",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "f589018f-5cf3-5350-8b83-e824f65ac98a",
                      "name": "damagedItems",
                      "dataType": "d18d554c-6dc5-51c9-bab1-be56b92363ab",
                      "invariances": [],
                      "multiplicity": "1..*",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Process claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "c97b9d32-b135-5548-a003-04f4479fa0f7",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "f00058a5-a82e-52c9-b6ee-a5676a143a72",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim's number.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9ddf820d-397f-515c-9d68-1497853e9fe1",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6094d0a4-e4ce-57e5-8156-db688d9dce75",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "How it ended: settled or declined.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "ba6e49c4-ada3-554f-89cc-bc04e33a66bd",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a4d205ef-290b-5675-97a8-422682a690e0",
                      "name": "status",
                      "dataType": "9833c596-effd-5cb0-b30b-67562a2043f3",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What was paid.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5d98a698-5e9c-56d7-8a60-87e7e2f906d9",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2961f5fb-5e4d-5ba5-9c0e-3aeda48eb63e",
                      "name": "payout",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The policy gave cover when the incident happened.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "4ca88778-f43b-57ea-96af-f6b7f22477ac",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "**An exception that carries values**: refused, the client is told which policy and which moment were not covered.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "610a7eb6-e3cc-513d-876d-8eb10598b355",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "309cb64a-122c-5eda-b2fb-4049a651a287",
                    "name": "Policy in force at the incident",
                    "formalSpecification": {
                      "body": "let p = getPolicy(Tuple{policyNumber = request.policyNumber}) in p <> null and p.status = PolicyStatus::inForce and p.startsAt <= request.incidentAt and request.incidentAt < p.endsAt",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Process claim' is requested while 'Policy in force at the incident' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b71b19e5-e0a4-5dce-8da1-9d4f859d961e",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "5994df7c-d5b3-5022-b37e-9a28963165fc",
                      "name": "Policy in force at the incident not met",
                      "abstract": false,
                      "fields": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "The policy claimed against.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "28d23fc2-f8cc-5f43-8134-08722427dbf8",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "e191ab71-b29c-566c-886d-998c9a4cc60c",
                          "name": "policyNumber",
                          "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                          "invariances": [],
                          "multiplicity": "1",
                          "relationship": "composition"
                        },
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "The moment it did not cover.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "f64a82e0-5b57-58b1-a7f3-63247090b9a1",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "c5f5ebe1-2b8a-584f-a9da-0e9f81975054",
                          "name": "incidentAt",
                          "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                          "invariances": [],
                          "multiplicity": "1",
                          "relationship": "composition"
                        }
                      ],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What the exception's policyNumber is.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "3d2c6ea9-be5d-5572-95cf-738d42ec4f68",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "9cbf8cfc-fe7e-5607-aad5-dc5e9f414e56",
                        "name": "policyNumber",
                        "formalSpecification": {
                          "body": "raised.policyNumber = request.policyNumber",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "ExceptionConstraint"
                      },
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What the exception's incidentAt is.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "9415d819-9066-58d0-ae6d-31b9a7173a19",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "c67b32a3-fe40-52a3-93d1-a498a665d9be",
                        "name": "incidentAt",
                        "formalSpecification": {
                          "body": "raised.incidentAt = request.incidentAt",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "ExceptionConstraint"
                      }
                    ],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Only the policy's owner claims against it.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "6ea4bd67-3988-58df-b559-f8a814ea2d72",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "The policy's owner, as *Underwriting* gives it, is the client whose login is `caller`, as *Client Register* gives it: two departments asked, and nothing of theirs read.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "6d44047e-391e-5f5b-8f18-aa8b078ff0d3",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "54a98e73-7620-5710-971b-6f42f95718f0",
                    "name": "Requested by the policy owner",
                    "formalSpecification": {
                      "body": "let p = getPolicy(Tuple{policyNumber = request.policyNumber}) in p <> null and (let c = findClientByLogin(Tuple{login = caller}) in c <> null and p.owner = c.clientNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Process claim' is requested while 'Requested by the policy owner' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "0e1d4ae9-828f-5bfc-8b3e-c056199aac11",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4136f4e0-aa90-5590-bac4-cd8ce1eb1ae8",
                      "name": "Requested by the policy owner not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A claim is for something that has already happened.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "3952f379-b219-5402-af68-c5772d598197",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "48039e87-4ee9-5d3e-882e-73227e35b959",
                    "name": "Incident has happened",
                    "formalSpecification": {
                      "body": "request.incidentAt <= now()",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Process claim' is requested while 'Incident has happened' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "d9628c92-be39-549f-a41d-142a9df5d267",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "aee11ee3-748f-5d05-93f4-9e06bd459128",
                      "name": "Incident has happened not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The incident is reported within 30 days.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "3783e0c1-eb7b-55da-bf64-b644cee38809",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "e667c36f-672b-528d-9d2f-5decc61ddbff",
                    "name": "Reported in time",
                    "formalSpecification": {
                      "body": "now() - request.incidentAt <= 'PT720H'",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Process claim' is requested while 'Reported in time' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "372cc6b0-37e0-545d-a650-bdf41e45134d",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "90daa338-c1fc-5afe-8486-3f61ad8763f2",
                      "name": "Reported in time not met",
                      "abstract": false,
                      "fields": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "How long after the incident it was reported.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "128f63ab-a47d-5b3d-9369-184f6e00796e",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "c10b0886-7672-5320-8f6e-b9edd8913a9b",
                          "name": "reportedAfter",
                          "dataType": "53c0c85f-ddaf-5959-99c9-520ff527bd33",
                          "invariances": [],
                          "multiplicity": "1",
                          "relationship": "composition"
                        }
                      ],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "What the exception's reportedAfter is.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "61ed6fd7-c75c-5370-ab5d-de36d6ce8988",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "8fd169f1-1e28-56df-9692-0759f44e3481",
                        "name": "reportedAfter",
                        "formalSpecification": {
                          "body": "raised.reportedAfter = now() - request.incidentAt",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "ExceptionConstraint"
                      }
                    ],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim is on record, against the policy.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "b097a183-aba4-5f96-9eaf-2ef6656fb99a",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "599673e2-4f23-56ae-81b3-68e30a3164cc",
                    "name": "Claim recorded against the policy",
                    "formalSpecification": {
                      "body": "Claim.allInstances()->exists(c | c.claimNumber = response.claimNumber and c.policy.policyNumber = request.policyNumber and c.incidentAt = request.incidentAt)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim ends settled or declined, as reported.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1b02a14a-40e2-5169-a837-3dae14156491",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "22097225-11b7-5d2d-8962-30b7a31f4a84",
                    "name": "Outcome recorded",
                    "formalSpecification": {
                      "body": "Claim.allInstances()->exists(c | c.claimNumber = response.claimNumber and c.status = response.status) and (response.status = ClaimStatus::settled or response.status = ClaimStatus::declined)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Nothing is paid beyond the sum insured.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "bcb058f7-35fb-525e-93ca-b03c0ded5b78",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d3d86d08-0e22-5c3e-91e4-cec91c0e6fe0",
                    "name": "Payout within cover",
                    "formalSpecification": {
                      "body": "response.payout >= 0 and Policy.allInstances()->select(p | p.policyNumber = request.policyNumber)->forAll(p | response.payout <= p.sumInsured)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "4b0fb51e-3bce-50d2-88cc-fc13ef7a4690"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Lists the claims made against a client's policy within a period.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "666e4876-76f8-531e-9b55-cb580c206c38",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Its post-conditions are about the insurer's records — every claim in the period is listed, and only those — so the execution environment checks them against the claims it actually holds, each time the report is asked for.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "35377892-c2d9-5c1f-8057-d0bafc6c8069",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "79c1da9f-b038-5d69-80cf-7981574824e3",
                "name": "Provide claims report",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Provide claims report'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "cce44a53-3ad4-5109-8489-5a9462f1d40e",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "141cfc8e-49ed-5077-844a-8bf9db943b78",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9c02a15d-5b16-5ffb-a514-813b4d9133ac",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "22ecc4ad-f9fe-5f41-bfd1-0da813c4f3cf",
                      "name": "policyNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The start of the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "2ad0d313-cdd9-5c94-8884-ea0db82a93a8",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "df1d66ba-0d95-50c0-971d-3fbf0a798238",
                      "name": "from",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The end of the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b27861c8-9406-5c5b-8700-c1a447e7c07d",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "47d66b4e-73b8-595a-beae-cbb7a743aeda",
                      "name": "to",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Provide claims report' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "0b8b45ce-02f1-537f-be4f-46777a1a9f73",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "8825ece5-ebad-5d3b-b6e1-ae7c0f718afb",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Every claim against the policy in the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "78120469-789e-5984-adc7-06c0a3870541",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "5ec6126e-3b3c-5a58-9387-7d31d17e4bc2",
                      "name": "claims",
                      "dataType": "072a386f-b1b3-5867-8821-16aeb8ab4024",
                      "invariances": [],
                      "multiplicity": "0..*",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "There is a policy with that number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "4f25ec05-a36b-52bd-a788-ba9e72846c96",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "456fac72-de7b-534b-8f03-eaffb299ecb2",
                    "name": "Policy exists",
                    "formalSpecification": {
                      "body": "getPolicy(Tuple{policyNumber = request.policyNumber}) <> null",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Provide claims report' is requested while 'Policy exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "4d2f9d25-e6dd-5b29-8915-a80cfd520708",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "88689b20-bfa5-53d5-a708-04931e39fc00",
                      "name": "Policy exists not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Only the policy's owner sees its claims.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "4ce33e9a-257f-59e4-95a8-a9b052ac3282",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7a06ac5e-87ba-52b1-acd3-34b3f5bd7637",
                    "name": "Requested by the policy owner",
                    "formalSpecification": {
                      "body": "let p = getPolicy(Tuple{policyNumber = request.policyNumber}) in p <> null and (let c = findClientByLogin(Tuple{login = caller}) in c <> null and p.owner = c.clientNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Provide claims report' is requested while 'Requested by the policy owner' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "c4fbbe3b-2d12-512b-b689-98482444ff00",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e4753fec-4ab5-5dbe-82ab-76af16443170",
                      "name": "Requested by the policy owner not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The period does not end before it starts.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ef6c08a4-5158-586e-b7ef-fb4118b50640",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "1431a395-ffbc-5f1e-ab84-8e5094b4af4c",
                    "name": "Period is valid",
                    "formalSpecification": {
                      "body": "request.from <= request.to",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Provide claims report' is requested while 'Period is valid' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "be9bd0eb-c5b7-5c55-8bf0-f47fcc2e111e",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3ca033f8-aa5a-59a2-8ed3-6f16ed77e551",
                      "name": "Period is valid not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "No claim against the policy in the period is left out.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "9d3b4d9f-5d15-502c-ab77-cdaf4c44c5e2",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6533bee0-006a-5b31-b20a-de15283585c4",
                    "name": "Every claim in the period",
                    "formalSpecification": {
                      "body": "response.claims->size() = Claim.allInstances()->select(c | c.policy.policyNumber = request.policyNumber and c.incidentAt >= request.from and c.incidentAt <= request.to)->size()",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Every claim listed is one against the policy in the period.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "643d8d6d-4a76-52ca-850f-cb9e007a51ee",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5886a5f0-9b18-5034-a7fa-570fab855949",
                    "name": "Only claims in the period",
                    "formalSpecification": {
                      "body": "response.claims->forAll(s | Claim.allInstances()->select(c | c.policy.policyNumber = request.policyNumber and c.incidentAt >= request.from and c.incidentAt <= request.to)->exists(c | c.claimNumber = s.claimNumber))",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "4b0fb51e-3bce-50d2-88cc-fc13ef7a4690"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Records a claim against a policy, and reports the cover it is made under.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d7ada497-1779-5ffe-b8b2-5d1c64d3faf3",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "It reports the cover because a process cannot read the insurer's records itself. The cover is *Underwriting's* to say: it is asked of `getPolicy`, the policies' query service, as its pre-condition asks whether the policy was in force.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "72a42778-d3c1-5814-bfbc-51ebe8d8a29a",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "c50291a0-e68c-5b06-a7f2-5f2f1c98bf2b",
                "name": "Record claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Record claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "5b476f13-e878-51f6-a1ed-efa3bfab3cd4",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "c5c4dd95-d96e-56ec-ba09-4d85f494cc06",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy claimed against.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "93221397-5208-54b8-a411-680ed1b8c71e",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e21bb4da-37dd-52ba-9052-8f48f2cec7ae",
                      "name": "policyNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "When the incident happened.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "6c25efb0-dc85-5764-995e-f210f04bb6f2",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "49e07190-0ab6-5ce5-9800-39558f867ba2",
                      "name": "incidentAt",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What happened.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "4634e796-5321-5e34-a9af-0d547637e626",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e740fed6-0add-57c3-9b31-d66700ca1ee1",
                      "name": "description",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Record claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a023de28-fdb4-5b82-89d9-a2387eca423d",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "b420eed7-802d-59eb-8729-2cc71384c699",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The number issued.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "4adfe399-ceeb-5864-b1ca-e630692c941c",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "f437fab3-12e8-5898-a0eb-7f171a02472b",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy's sum insured.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "064d9458-07cf-5334-bb63-ec2108f0a0ea",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "989da5c6-6494-54e7-8988-3ff17cc191cb",
                      "name": "sumInsured",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy's excess.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "c5475d12-a7ba-5148-b1d1-8f08adfd1f32",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6d6af002-0271-5f47-a586-26e1dd9542ae",
                      "name": "excess",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The insured vehicle's value.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "83c7d790-b5e3-56f9-bbff-1a15b4fd0eee",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b6bb4f6d-8ae0-56d8-86ae-220793acdf49",
                      "name": "vehicleValue",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The policy gave cover when the incident happened.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "6c63646b-e276-5557-ba43-d6f52dda7f59",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "ce5ae036-5fd0-522d-9aea-c8203922834e",
                    "name": "Policy in force at the incident",
                    "formalSpecification": {
                      "body": "let p = getPolicy(Tuple{policyNumber = request.policyNumber}) in p <> null and p.status = PolicyStatus::inForce and p.startsAt <= request.incidentAt and request.incidentAt < p.endsAt",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Record claim' is requested while 'Policy in force at the incident' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "f28d9f81-86f2-5b3b-a9d2-61430b6cdb56",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "8d3ce45d-0456-54df-b283-aa54550a280f",
                      "name": "Policy in force at the incident not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A lodged claim against the policy is on record, in the client's words, as of when it was recorded.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "25dd3dea-0a00-5503-b4cd-63f6caa11224",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "775c464a-c7e6-56bf-8922-699363e1582b",
                    "name": "Claim recorded",
                    "formalSpecification": {
                      "body": "Claim.allInstances()->exists(c | c.claimNumber = response.claimNumber and c.policy.policyNumber = request.policyNumber and c.incidentAt = request.incidentAt and c.description = request.description and c.lodgedAt = now() and c.status = ClaimStatus::lodged)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The number issued belonged to no claim before.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "cca7a4bf-79b8-56a6-bebf-65de63236653",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f1eb24fe-515a-5638-a50d-00aed28ac9f0",
                    "name": "Claim number is new",
                    "formalSpecification": {
                      "body": "Claim.allInstances@pre()->forAll(c | c.claimNumber <> response.claimNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The response states the policy's cover, as Underwriting gives it.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "21e337f3-e93b-5a1b-8b13-fe4e7c9c91ec",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "Three recipes, each asking `getPolicy`; *Policy in force at the incident* requires the policy, so a request naming no such policy is refused before they are read.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "99245ed9-4836-5a2b-b91d-4ddd4f96843b",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "24a35665-18d1-587b-8a26-53bfef97ae05",
                    "name": "Cover reported",
                    "formalSpecification": {
                      "body": "response.sumInsured = getPolicy(Tuple{policyNumber = request.policyNumber}).sumInsured and response.excess = getPolicy(Tuple{policyNumber = request.policyNumber}).excess and response.vehicleValue = getPolicy(Tuple{policyNumber = request.policyNumber}).vehicle.value",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Moves a claim on to a new status, recording its payout once settled.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "00ee3e64-05ef-5450-b4d9-34e0fd7be327",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "80f17f50-0897-5ac6-8baf-1711e2a55937",
                "name": "Update claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Update claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a062480c-a399-5395-a7ac-07f03a22ef00",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "bcd195d5-75e5-506b-b131-2ee19784e501",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9f4471b3-7e75-5032-9635-07bdcd752d8e",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "f70654bf-4de9-5c62-937b-1172c7c5cdfc",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Its new status.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "be25e1ad-a55e-5969-8b27-d177baae9402",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6692a597-3407-5587-9e74-4820cbde4c0a",
                      "name": "status",
                      "dataType": "9833c596-effd-5cb0-b30b-67562a2043f3",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What was paid, when settling.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "da0fe69a-d765-5d49-a1c0-568aae4e6237",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "74b3e5c8-59d8-5fab-b0e1-91e60457f324",
                      "name": "payout",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "0..1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Update claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "739e17df-8ab5-5f99-913d-3ac648889929",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "dee65e8d-03f9-5038-87d6-229205679079",
                  "name": "Response",
                  "abstract": false,
                  "fields": [],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "There is a claim with that number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "bc67034d-4fbe-573a-be82-86f86ac15f3a",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5c7fd22d-f5de-57be-a0b4-226b8e666426",
                    "name": "Claim exists",
                    "formalSpecification": {
                      "body": "Claim.allInstances()->exists(c | c.claimNumber = request.claimNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Update claim' is requested while 'Claim exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9b2229c8-1d95-54ae-a8b4-db98f32949b1",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7dc38808-89d4-51db-8e88-e986061d5e06",
                      "name": "Claim exists not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim has the status asked for, and the payout given with it.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "8f648ac6-c0c6-5ffc-9b96-d1b9b3c3024f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5004d380-40dd-5e9c-8f29-5daa5f299b24",
                    "name": "Status recorded",
                    "formalSpecification": {
                      "body": "Claim.allInstances()->exists(c | c.claimNumber = request.claimNumber and c.status = request.status and c.payout = request.payout)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Lists the claims made against a policy within a period.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7cc56ac3-bc84-5454-a4a0-905a9a95f473",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "436a145d-4b54-5df5-ad53-6f2d06f9a994",
                "name": "Find claims",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Find claims'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e9b7be41-2a60-59aa-b3b5-179fa9b27943",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "add5567c-fc26-54bc-9935-38408e4e22c5",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "c71a1d7c-fecb-5731-994f-51eed5934950",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b9e5e743-580a-5ccf-8ce7-39249dedb438",
                      "name": "policyNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The start of the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "2efdee64-0a3c-5c9c-9033-6a8c91dda50b",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "5502a2f8-0c04-5f08-bb46-11a97a1845e1",
                      "name": "from",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The end of the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "249a7cff-b515-5065-9312-aa5488740f32",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2ded2477-b2e8-5e2e-84f0-a1a014459249",
                      "name": "to",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Find claims' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "afb7114e-f72c-5a5d-a3de-ba4b0b5e1d6c",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "68bd5f85-65cc-53e3-9263-71b3da94510f",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Every claim in the period.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "3f949bdf-c16b-5bae-af4a-7a6ba98786c2",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b3f8612e-bf8b-5db2-b84f-95d973a5c579",
                      "name": "claims",
                      "dataType": "072a386f-b1b3-5867-8821-16aeb8ab4024",
                      "invariances": [],
                      "multiplicity": "0..*",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "There is a policy with that number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "45d8e081-e334-5ce6-89ee-98f10fd929ff",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "16c3a53f-5872-5348-9923-938254de093f",
                    "name": "Policy exists",
                    "formalSpecification": {
                      "body": "getPolicy(Tuple{policyNumber = request.policyNumber}) <> null",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Find claims' is requested while 'Policy exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "76bff75d-320d-5128-9603-426600d26fd9",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "c823ed80-7372-53b4-924b-456be066f1a0",
                      "name": "Policy exists not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Exactly the claims against the policy in the period, oldest incident first.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a4eab5e0-97ae-5be0-97c0-aec6d86065ad",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "A recipe: it determines the list, so the service can be answered with no code. *Provide claims report* promises the same claims in its own two clauses, as its requester's requirement; this states how they are found (`docs/design/derivedReads.md` D9). Sorted, so the order is part of it.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e4111629-dd2f-50c1-84fb-b75808d8c671",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "63fd1d72-4670-5d3d-be14-132d7a44e85c",
                    "name": "Claims listed",
                    "formalSpecification": {
                      "body": "response.claims = Claim.allInstances()->select(c | c.policy.policyNumber = request.policyNumber and c.incidentAt >= request.from and c.incidentAt <= request.to)->sortedBy(c | c.incidentAt)->collect(c | Tuple{claimNumber = c.claimNumber, incidentAt = c.incidentAt, status = c.status, payout = c.payout})",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": true
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Lists the claims that have stayed open too long.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f9e6afdf-335c-589f-ba62-432393788712",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "8607aef9-7d9c-5e27-929d-eccbc12850f3",
                "name": "Find stale claims",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Find stale claims'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7e87ddd0-8380-5bea-9831-88eb72f307be",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "e9810a96-9f85-5df9-88b8-423aa21ece32",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "How long a claim may stay open.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b5d486ee-c740-5a18-8e4c-bfdf6ef6c36f",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "71ee9959-c02f-516c-8aae-d736d3d7c9c1",
                      "name": "openFor",
                      "dataType": "53c0c85f-ddaf-5959-99c9-520ff527bd33",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Find stale claims' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e5a59505-ffd7-5229-93bf-7d3295217e1d",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "d5760303-33e3-51ee-8ac4-81f411937027",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Every claim open longer than that.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5f2c93b6-a7d5-52ea-8b35-9080bd301db6",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7af7bb1f-cb18-59c4-b82b-d148bc01e813",
                      "name": "claims",
                      "dataType": "072a386f-b1b3-5867-8821-16aeb8ab4024",
                      "invariances": [],
                      "multiplicity": "0..*",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Exactly the claims still open, and open for longer than asked.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e5c192dc-5f26-5b6d-92af-d6a3e1e9fa4b",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "A recipe, unsorted: any order of the same claims answers it.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1c7abf06-f6e8-52cc-a46a-3feabd653205",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "1017e4bb-c9f2-560c-971b-5540b78ddb31",
                    "name": "Every stale claim listed",
                    "formalSpecification": {
                      "body": "response.claims = Claim.allInstances()->select(c | c.status <> ClaimStatus::settled and c.status <> ClaimStatus::declined and now() - c.lodgedAt > request.openFor)->collect(c | Tuple{claimNumber = c.claimNumber, incidentAt = c.incidentAt, status = c.status, payout = c.payout})",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "52d7c790-2c52-54d3-915e-4cecc90dc4b6"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Assesses a recorded claim, pays it, and has the vehicle repaired.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "9dd83985-7260-56ec-b940-b968716d49ca",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Internal — published to nobody — and realized by **its own process**, which an execution environment runs as a child of the claim asking for it.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "02d40f62-4516-507e-8783-23c762dca3bd",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "e6cb9a89-d144-511d-905c-00873dcd089e",
                "name": "Assess and settle claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Assess and settle claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3f6b4fb4-e7af-5ae7-9ddc-29aee926947f",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "f75e3fbc-f55d-5ea8-88d2-45b8b4ec7767",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "5dd19cfc-e671-5432-b1cc-5a9ac6a9aade",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3840e871-c66d-535e-84c0-56e7bce23a4e",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the damaged items were priced at.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "787af80e-c124-5c92-8d4e-282a8e95fac6",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "f5f25ee0-4f0d-5f0a-b870-86f7ad8b271e",
                      "name": "repairTotal",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy's sum insured.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "72a44604-3481-540d-8cc3-8df898875231",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "efae1d40-f705-5ed5-8b8d-f6d54123286b",
                      "name": "sumInsured",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The policy's excess.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "e0cec994-6a33-586f-a6d9-b0b1494f7f44",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b93719ef-2723-5c87-aae0-a5c47ed00eb5",
                      "name": "excess",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Whether the repair would cost more than the vehicle is worth.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8e21ce90-f92e-58cc-b746-19e28b57c6b9",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "059aa6b3-51dd-5cad-9e4c-8d836d76696e",
                      "name": "writtenOff",
                      "dataType": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Assess and settle claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "f7e1746e-b2ad-5b81-9e36-0264e4a39121",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "63231691-c892-5a46-8112-8f3b088f77f0",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Settled.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "29102ccc-86ab-5e9f-b9d3-42a98b71d9bd",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "aa03a4e2-8a44-5139-bb6e-40fecb9029d6",
                      "name": "status",
                      "dataType": "9833c596-effd-5cb0-b30b-67562a2043f3",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What was paid.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "183f5876-fe52-5313-af63-18c6be0ed8ba",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "37db0591-1230-55a6-afe1-fa6d808277af",
                      "name": "payout",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "There is a claim with that number.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "76784bb3-abb7-5e11-b73d-b310ccfe39bc",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "fbf41ab2-745f-5d5f-b3b0-906ab53faa34",
                    "name": "Claim exists",
                    "formalSpecification": {
                      "body": "Claim.allInstances()->exists(c | c.claimNumber = request.claimNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "raisedException": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Raised when 'Assess and settle claim' is requested while 'Claim exists' does not hold.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8a789a4e-ac95-5ef5-b486-45fdd6eff0ab",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a603011e-725f-56e3-bc34-b48d6cd0c085",
                      "name": "Claim exists not met",
                      "abstract": false,
                      "fields": [],
                      "invariances": [],
                      "variant": "DataStructure"
                    },
                    "exceptionConstraints": [],
                    "requiredBy": []
                  }
                ],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The claim is settled, with the payout recorded.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0eb292db-537e-5baf-88de-4308bdfcf77a",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f6c402a5-c870-57f6-b14a-44d4b997f167",
                    "name": "Claim settled",
                    "formalSpecification": {
                      "body": "response.status = ClaimStatus::settled and Claim.allInstances()->exists(c | c.claimNumber = request.claimNumber and c.status = ClaimStatus::settled)",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Nothing is paid beyond the sum insured.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "9bf04fdf-71b7-5780-a37b-4ef68bc1d19f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "e5bd5fe9-0be5-57d9-ba88-543b4cffdf27",
                    "name": "Payout within cover",
                    "formalSpecification": {
                      "body": "response.payout >= 0 and response.payout <= request.sumInsured",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Screening claims, and investigating the risky ones.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "218db1b1-c781-59cd-ab9d-3296d20e0b79",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Screening is a rule; investigating is a person's judgement.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "7bdd7904-1711-56fa-bfb6-81cac4ef84bb",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "8681ecd3-1c2e-5f64-aa05-2681c1edfda2",
            "name": "Fraud Investigation",
            "dataTypes": [],
            "entities": [],
            "exceptions": [],
            "processes": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Scores how likely a claim is to need investigating.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "f40a0334-52c8-5ad7-8245-09b388c4af8a",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Determined outright by its post-condition, so `specified` in a demonstration — and swappable for a person, or a scoring engine, by configuration alone: the process asking for it does not change.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5d28d01e-7d10-50db-8ac8-e9804248819d",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "d0f8550c-998a-5cc9-8a69-c4367973e942",
                "name": "Screen claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Screen claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "518e45d6-33a7-5a19-adbb-ae82a8237bea",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "e66caa9a-41ca-505d-a97f-1900533a5783",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the client estimates the damage at.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b3096352-d213-5a77-a0a5-dc7dcb399c29",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "af999dfc-6267-5072-becf-eae9091a802a",
                      "name": "claimedAmount",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Screen claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "fbd591e8-e625-5bc8-b1d5-a4d53cd596b6",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "dbf28aec-e125-5e20-8444-9ed165257a59",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "From 0 to 100; the higher, the likelier a referral.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "bd14f6cb-4e4a-5739-9f4f-5fbc8ef46803",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "935d7349-d945-5bef-9134-79294d995ade",
                      "name": "riskScore",
                      "dataType": "7fffc5aa-cfb8-50e5-b6b7-2f92f8a13315",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A claim above 150000 scores 80, any other 20.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "859b4adb-defd-5d20-90e0-8a9a9711a479",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "ace9c53a-b68a-59d8-a45e-f43b61f66b7c",
                    "name": "Risk scored",
                    "formalSpecification": {
                      "body": "response.riskScore = if request.claimedAmount > 150000 then 80 else 20 endif",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": true
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "An investigator decides whether a referred claim is genuine.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d4c3dd41-d275-55eb-a5ea-9797abae0f01",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **person's** service: a task in the investigators' work list.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "db32b029-7446-5523-8bd4-ab6351eee4d5",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "ce6a6061-1e4d-50d4-b5ac-cbb76c11573c",
                "name": "Investigate claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Investigate claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "043096c6-293e-5ba5-b04c-da87b62cf97c",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "924d8a35-7478-5ebe-9ce9-d871801ef8cc",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9495b452-c811-51b9-80b0-4c03b65f2f1b",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3d850750-bb15-5d6e-b14f-ca1648223004",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Why it was referred.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "3d1402f3-1354-57c3-82f2-d63125a7c96e",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b30a5e67-3481-5847-aa7e-562c3fc832c1",
                      "name": "riskScore",
                      "dataType": "7fffc5aa-cfb8-50e5-b6b7-2f92f8a13315",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Investigate claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7cee9276-68b4-5aef-80bb-6c4eafc17748",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "4499f799-926b-501c-9389-9fe293eb56c3",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Whether the claim stands.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "0b487d7f-5a66-5503-93ee-77f0bea0a7f1",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6a51c9a3-2da4-53d9-a470-9e94854773ae",
                      "name": "genuine",
                      "dataType": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the investigator found.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "020de3df-dc51-571c-b558-25dd7677bc61",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "51ef00ca-16a7-5142-96a9-40269a0d8e17",
                      "name": "finding",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "A claim found not genuine comes with what was found.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1c1ef182-99cf-51bd-9ec6-2e259d951823",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "7a5bbf66-39e4-58ab-959a-a7a637db909c",
                    "name": "A refused claim says why",
                    "formalSpecification": {
                      "body": "response.genuine or response.finding.size() > 0",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Pricing damage and assessing a claim's loss.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "aeb4f9a5-7287-5c6b-bccb-2342cc94fcb3",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Pricing is a tariff; assessing is a person's judgement.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "e05be56d-b216-5ab1-88c3-4d2f7ebdcaca",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "6aeb792c-b822-590a-a2e8-1edb6955fb6d",
            "name": "Assessment",
            "dataTypes": [],
            "entities": [],
            "exceptions": [],
            "processes": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Prices the repair of one damaged item.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "51739ded-8318-515d-a7e1-2d9c210ad8fa",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "17644dfa-4455-5bd7-aa54-0ab6f78a32ad",
                "name": "Price damaged item",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Price damaged item'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "230aae4f-64cc-5ba2-867d-3f66f4c1e730",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "ebe240b2-876a-5599-9951-7cf3b8c07688",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The item.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "1294ad76-9006-5304-ad45-ee2ebcf76833",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "c7b08b50-5b0e-5673-86b1-a8bef6dcc04c",
                      "name": "item",
                      "dataType": "d18d554c-6dc5-51c9-bab1-be56b92363ab",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Price damaged item' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7859526a-f433-513c-8f6e-d8aabb1f54a9",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "b892f3ba-a3cb-5b0e-94e6-9f632923dccf",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What its repair will cost.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "4860eb1c-3db5-5a88-a437-64727832bf39",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3958b7bd-d2aa-5d6c-ae6d-aa00d04cb4a3",
                      "name": "amount",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client's estimate plus the labour rate.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "1900038c-4555-591d-b1df-47b8a0649637",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "298fd434-31c4-502c-8eec-d025ff867a39",
                    "name": "Item priced",
                    "formalSpecification": {
                      "body": "response.amount = request.item.estimate + 1500",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": true
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "An assessor assesses the loss, or says what more is needed.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "934fadbc-95c5-5bbb-8fc7-430ce89f0fe5",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **person's** service: a task in the assessors' work list.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "45da7269-2387-57d8-95f0-b766e7a87443",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "b1938b22-d3ad-5127-b8bf-ec60987cbe4a",
                "name": "Assess claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Assess claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "897fb82d-3fa2-5160-931d-6478dc06ae91",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "005dea1a-73f8-5aff-b988-d6ae7c8a9926",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "23e1676f-9439-5d72-ac7f-5162236ce907",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "5609f51c-fd95-5d05-b0f7-a949ec514a66",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the damaged items were priced at.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "59f17707-47f3-5fd2-91db-65e4c23bcfcc",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a1752957-60fd-5574-acbf-a9e3cc8d4fb2",
                      "name": "repairTotal",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Assess claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4b51a65c-97a1-58d0-9457-3cac5ab44408",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "a487c4b0-3955-579a-ac94-228be7b0a1b1",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Whether the assessment is done.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "bff87fac-d5d1-58c9-8e2a-573abb7bb475",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a57184c5-a13c-5682-92d5-dcf23f7649d4",
                      "name": "complete",
                      "dataType": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The loss assessed.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b8736d8d-1a80-56c0-8cf7-cd9554d1189a",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "d81ec041-9e85-50f5-8847-f83da3a64f76",
                      "name": "assessedAmount",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What more the assessor needs, when not complete.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "9c60d63c-d832-56a0-a42e-1a7226c59a1a",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "12abf2d9-382a-549d-82ad-cce803c8860d",
                      "name": "query",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "0..1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The loss assessed is never negative.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "5f1c1cc2-bda4-5853-89d2-a766897ffb4f",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "4043e360-58ae-512a-9f2a-a4cbb0db3dca",
                    "name": "Loss not negative",
                    "formalSpecification": {
                      "body": "response.assessedAmount >= 0",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "An assessment that is not complete says what more is needed.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "b5998424-5549-50c7-80c9-70509bb9d7ef",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "a27a1e71-9342-5ec7-9441-613c2ace92ef",
                    "name": "An incomplete assessment asks",
                    "formalSpecification": {
                      "body": "response.complete or response.query <> null",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "The client answers an assessor's question about their claim.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "124f7de8-f3c2-588b-b893-126b8431e6be",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A task for the **client**, in the same portal the insurer's staff use.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "5dbe1b95-5a73-5292-843c-f3b971da1ee8",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "5302115d-1677-5a69-8901-617d2712c1b7",
                "name": "Provide further information",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Provide further information'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "e200295b-8a41-57a3-9ae7-afe381cbcea2",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "985d04f3-d9de-51d0-9bff-5ca5fb099805",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "b16e65a3-6f36-50dc-8a46-db9d7d97eccc",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "48f30da5-5768-5512-b4e5-b11d09b101fd",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the assessor needs.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "634c6ebb-8ae6-5f8c-b804-bdf35bada975",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "d0b1129d-f6ff-58b6-afbb-9a7e87129b09",
                      "name": "query",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Provide further information' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "8af5166e-97c3-58fa-b9bb-049886d2ae23",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "2216a484-d65a-5d81-823e-67180425fdde",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The client's answer.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "d2779a04-ebe4-5d52-aff1-0d90b101fa9a",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2aa77a55-584b-51e5-a6ad-2dda148449cf",
                      "name": "information",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The client gives an answer.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "e9c1b395-42f7-5aff-b6e9-65b600c14d2d",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3c8222ee-d6ef-5771-b23c-00c3d06f7209",
                    "name": "Answered",
                    "formalSpecification": {
                      "body": "response.information.size() > 0",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "The panel repairers who repair insured vehicles.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "8546ce1d-7ed7-5dee-8534-9582cf090eef",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "76ab8994-fd69-5d15-aaae-4d6152c193a5",
            "name": "Repair Network",
            "dataTypes": [],
            "entities": [],
            "exceptions": [],
            "processes": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A panel repairer says whether it can take on repairing the insured vehicle.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "63bac4c7-4843-5f3f-a93f-1d084d0156a2",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Asked of the panel repairers **in turn** — a *sequential multi-instance* request — until one accepts. Each repairer is a provider of its own.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "47c1d1b2-5e28-54a9-86db-b99d28cfd473",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "10d46e3b-528b-5f9a-bd0f-ffe4a4a94e25",
                "name": "Offer repair",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Offer repair'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "43b49669-918f-528b-91ed-0846109b14c7",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "87c00d74-00e4-5eac-93df-ef5ac478cb42",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim the repair is for.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "ff176b6b-6a71-520b-9098-712cb4a47457",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3079abb6-2318-537f-a26c-4df81438eb38",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Offer repair' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2d4edfe6-0174-549d-946e-305108606074",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "b8da3501-5fef-56c4-8488-6c191ed25481",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "Whether the repairer takes the repair on.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "6fdc8925-564d-5a85-883d-d234e606f605",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "46d2bba4-5057-5842-bd11-30abaa8a6d0b",
                      "name": "accepted",
                      "dataType": "541cb9c5-98fa-586c-bc3d-5bda475e4e28",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The repairer says yes or no.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "08f55a51-3512-5566-9bed-d2545d8ae8b0",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "39cfd0ff-f0a5-509d-9bc1-154b44932221",
                    "name": "Answer given",
                    "formalSpecification": {
                      "body": "response.accepted <> null",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A panel repairer repairs the insured vehicle.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "53b178c2-885d-55ad-9923-be8dcfd0ac28",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **person's** service: a task in the repairers' work list.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "76b6a41d-817c-5710-8bbb-4bf6cc50f543",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "b4e6e35c-caa6-5d05-ac01-b74b17363423",
                "name": "Repair vehicle",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Repair vehicle'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "223c3b20-f580-52bb-953b-77ca911fb281",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "4e68affd-a58f-567d-baf1-46f3a34f9841",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim the repair is for.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "bc4d0b89-8f8f-51fa-97bb-d7dfb46f1e86",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "fb64ebd9-6c57-54ea-849d-aa1e0ee4ea28",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Repair vehicle' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "11f6541f-5cb9-5473-a2a7-0beff0afd683",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "48485da6-c7f2-5175-b336-f939ad28d511",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "When the repair was done.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8465c478-d4a5-5487-9a40-08098eb86406",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "77a7b169-88ea-55c8-aa30-a41bb02891d6",
                      "name": "completedAt",
                      "dataType": "0279902b-56f2-5b87-9368-22357fd318c5",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The repairer says when the repair was done.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "f73954c4-ac82-5ac9-94a1-44d47a68f7de",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "038c0d58-8dfe-55b1-8563-a59202984f50",
                    "name": "Completion stated",
                    "formalSpecification": {
                      "body": "response.completedAt <> null",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "Computing and paying what a settled claim pays.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "b964d707-fe09-577f-b0cb-8ddcdb65aae8",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "650f3d6c-c8f8-5d7a-957a-ebdee9e6921b",
            "name": "Payments",
            "dataTypes": [],
            "entities": [],
            "exceptions": [],
            "processes": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Works out what a settled claim pays.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "35e3d95e-ba89-5668-b4ef-472cbeaed191",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "The loss up to the sum insured, less the excess, and never below nothing — a `specified` service: no code computes it, the post-condition does.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6f4e006a-c035-58b7-9f11-2d9f2f2011d5",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "e77790f4-7ffb-56b9-a17a-9b9b34d0057f",
                "name": "Compute payout",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Compute payout'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "0c36e546-23d4-54e5-961d-1397e1878cef",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "24cfaa77-0531-5488-bfe5-1aba86c88715",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The loss assessed.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "8359f8d2-b2a7-5884-b201-163eafba067d",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "04b8183f-3957-5634-bffb-b7b766bd4b83",
                      "name": "assessedAmount",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The most the policy pays.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "7e54f98c-8f88-5177-86ca-3dba9f79ab0f",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6173a547-ed83-5814-a91d-c8a0f07bae1d",
                      "name": "sumInsured",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the client bears.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "67799bfe-3548-5825-a394-19b2368823a4",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "1c848a4c-93dc-56f7-bc9d-441531e002e4",
                      "name": "excess",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Compute payout' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "23134ed8-b446-5bfd-b83c-82b6fe669a05",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "0f8064fa-85ea-5c53-9042-64bfd0b9d7c1",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What is paid.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "300dc6c5-2205-5342-afdd-e4957614a7e2",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "3e2eeeef-3084-5c53-8fe0-8ef4cf82e5ba",
                      "name": "payout",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The capped loss less the excess, never negative.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "45988f18-442b-5d44-9cc9-537cb7cda854",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "d311da61-1b0e-5846-beee-d3dca47cc150",
                    "name": "Payout computed",
                    "formalSpecification": {
                      "body": "response.payout = if request.assessedAmount <= request.excess then 0 else (if request.assessedAmount > request.sumInsured then request.sumInsured else request.assessedAmount endif) - request.excess endif",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": true
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Pays a settled claim.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "36fcc2ce-93c3-5f77-b689-6ec0ec81748c",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A stub in the demonstration environment: payments are outside this model.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "59f9f030-a3d7-59dc-b7de-11ce1d23dabe",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "ab943dc4-76f7-5b90-8643-4a28c57658b4",
                "name": "Pay claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Pay claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "1bdfe662-f1d5-5a90-9106-94a6adc13269",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "cb2cc737-f4bb-5785-836b-b587ddb52a36",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "2f8e4e98-2a4e-5e06-b85d-7978eff0b772",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a4f71265-c013-5ddc-bb8d-7c3f03836b74",
                      "name": "claimNumber",
                      "dataType": "6440e607-47f3-5a31-8f91-0de9f2caa368",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    },
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What to pay.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "f1ca8ac6-a1fd-57be-9a0b-9517c4baf28d",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "18a4d314-6fb1-5f90-9a50-d778e1e2ffea",
                      "name": "amount",
                      "dataType": "80e6bb84-75ec-516f-8a81-7ea7286c8f74",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Pay claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "6976e049-9868-58ca-88f9-8face8ee4454",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "e12433ea-8e1a-578e-8505-88ebcc53814f",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The payment's reference.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "04c39c60-6eb3-5b47-b9e0-139a3db183dd",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a4ea446f-d148-502f-ad5d-9239367360cc",
                      "name": "paymentReference",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The payment comes with a reference.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a2d5cdbb-b94c-56e3-b895-02a13afb7e56",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "3962aa72-bda0-5e25-8b0d-be232c88fd9e",
                    "name": "Payment referenced",
                    "formalSpecification": {
                      "body": "response.paymentReference.size() > 0",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "377aec32-e79a-5a94-9459-e61cdb910691"
                ],
                "waivedPreConditions": [],
                "isQuery": false
              }
            ]
          },
          {
            "annotations": [
              {
                "annotations": [],
                "body": "The claims managers, who review what has stalled.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "0f6f0844-14ce-5e9d-b4a3-4be275d0d732",
                "language": "en",
                "markup": "text_plain",
                "name": "Description",
                "purpose": "shortDescription"
              },
              {
                "annotations": [],
                "body": "Its morning escalation runs on the calendar's initiative; the reviews are people.",
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "fc491517-39b3-5d9a-9f2d-86c4769b0e0b",
                "language": "en",
                "markup": "text_markdown",
                "name": "Details",
                "purpose": "detailedDescription"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "id": "52d7c790-2c52-54d3-915e-4cecc90dc4b6",
            "name": "Claims Management",
            "dataTypes": [],
            "entities": [],
            "exceptions": [],
            "processes": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Finds the claims open too long and puts each before a claims manager at once.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "1188562c-7e02-58e6-89da-b526292d717d",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "f54b4418-5d45-527b-9d86-468ebfde0166",
                "name": "Escalate stale claims",
                "serviceContract": "abefe5d4-a053-5ac2-9d4e-7df10d71a2f9",
                "activities": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Find the claims open too long.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "f67a5669-2aaa-54e9-a2ce-563d457670a9",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6db4f6cf-af28-529f-95a0-a68b4029889b",
                    "name": "Find stale claims",
                    "service": "8607aef9-7d9c-5e27-929d-eccbc12850f3",
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "variant": "RequestService",
                    "requestConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How 'openFor' is populated for this request.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "df53fd8c-a006-5033-a3ba-d7c9389004a0",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "0829688b-c87a-5fad-8899-98aab5129e6c",
                        "name": "openFor",
                        "formalSpecification": {
                          "body": "providerRequest.openFor = 'PT336H'",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "RequestConstraint"
                      }
                    ],
                    "defaultFlow": {
                      "activities": [],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "24c89336-af15-5db5-a9c1-504c9df2e7ae",
                      "name": "default",
                      "variant": "ActivitySequence"
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": [],
                    "responseVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claims open too long.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "24bca31d-6bac-5fb4-8e6d-9f470e5578ed",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "445fde98-7482-509d-ae01-911170e8c5b1",
                      "name": "stale",
                      "invariances": [],
                      "dataType": "d5760303-33e3-51ee-8ac4-81f411937027",
                      "multiplicity": "1"
                    }
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Review every stale claim at the same time.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "fafd785e-d158-5cc3-82aa-1b414464c604",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      },
                      {
                        "annotations": [],
                        "body": "**Parallel**: the reviews are independent, so they are all put in managers' work lists at once. A parallel loop carries nothing and never stops early — its lanes have no order.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "8c7403f3-9d36-5b70-b329-a5494bb52d62",
                        "language": "en",
                        "markup": "text_markdown",
                        "name": "Details",
                        "purpose": "detailedDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "4c4993ea-f0c0-5286-ab6e-eda5e103284e",
                    "name": "Each stale claim",
                    "variant": "ForEach",
                    "processingMode": "parallel",
                    "sourceCollection": {
                      "body": "stale.claims",
                      "specificationLanguage": "OCL"
                    },
                    "elementVariable": {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim being reviewed.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "d36e7e20-5fa7-55ad-84f1-76e863a70d7c",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2260dcdf-6dfd-5008-80a5-4d4f898ac12b",
                      "name": "claim",
                      "invariances": [],
                      "dataType": "072a386f-b1b3-5867-8821-16aeb8ab4024",
                      "multiplicity": "1"
                    },
                    "activitySequence": {
                      "activities": [
                        {
                          "annotations": [
                            {
                              "annotations": [],
                              "body": "A claims manager reviews this claim.",
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "fe0cb332-1a74-5360-9f96-fb81eec49257",
                              "language": "en",
                              "markup": "text_plain",
                              "name": "Description",
                              "purpose": "shortDescription"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "518b5f5f-7a4b-5761-819a-475007a98fa4",
                          "name": "Review stale claim",
                          "service": "6b6fa890-712d-50d9-b146-a2cdf88d98fc",
                          "instanceKind": "singleInstance",
                          "processingMode": "parallel",
                          "variant": "RequestService",
                          "requestConstraints": [
                            {
                              "annotations": [
                                {
                                  "annotations": [],
                                  "body": "How 'claim' is populated for this request.",
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "id": "1abfd87d-8b1e-531c-8765-3433e7e174bf",
                                  "language": "en",
                                  "markup": "text_plain",
                                  "name": "Description",
                                  "purpose": "shortDescription"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "id": "c90eff73-1787-5ab6-8465-2cd4d06f187d",
                              "name": "claim",
                              "formalSpecification": {
                                "body": "providerRequest.claim = claim",
                                "specificationLanguage": "OCL"
                              },
                              "variant": "RequestConstraint"
                            }
                          ],
                          "defaultFlow": {
                            "activities": [],
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "ffa55a55-048d-5358-b53c-0aa437c6c18b",
                            "name": "default",
                            "variant": "ActivitySequence"
                          },
                          "exceptionHandlers": [],
                          "messageHandlers": []
                        }
                      ],
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "dc7debf7-84c8-5a43-ae13-5b6d25b61265",
                      "name": "body",
                      "variant": "ActivitySequence"
                    },
                    "carriedVariables": []
                  },
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "Return how many were escalated.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "ce589472-0049-5365-83c3-35b05446b774",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "1a8f8c10-1497-538e-bd12-64f70a10d7bb",
                    "name": "Report the count",
                    "variant": "PopulateResponse",
                    "responseConstraints": [
                      {
                        "annotations": [
                          {
                            "annotations": [],
                            "body": "How the response's escalated is populated.",
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "id": "406c5171-27db-5603-85d1-e67fbc926cb4",
                            "language": "en",
                            "markup": "text_plain",
                            "name": "Description",
                            "purpose": "shortDescription"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a2da5c69-9314-5e6e-9a1a-422a2a07ef49",
                        "name": "escalated",
                        "formalSpecification": {
                          "body": "response.escalated = stale.claims->size()",
                          "specificationLanguage": "OCL"
                        },
                        "variant": "ResponseConstraint"
                      }
                    ]
                  }
                ],
                "requirementAllocations": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "'Report the count' is the step that discharges 'Escalations counted'.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "09d1dcd2-317e-51c9-a8c8-854c226caba4",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "2fd783cf-69ea-5fe5-b92f-ccefd8602e6c",
                    "name": "Escalations counted ← Report the count",
                    "toAddress": "dbae0b8b-5612-5a67-addc-0bc2fa2131db",
                    "addressedBy": "1a8f8c10-1497-538e-bd12-64f70a10d7bb"
                  }
                ],
                "unplacedActivities": {
                  "activities": [],
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "f54b4418-5d45-527b-9d86-468ebfde0166-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence"
                },
                "variant": "Process"
              }
            ],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "Every morning, puts each claim open for too long before a claims manager.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "b3bc742e-8482-5fbb-ae66-38bfb04a3b19",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "Published to nobody: it runs on the calendar's initiative, as the environment's schedule caller, not because anyone asked.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "584f3ed3-e254-5f34-a61c-43f61c0750db",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "abefe5d4-a053-5ac2-9d4e-7df10d71a2f9",
                "name": "Escalate stale claims",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Escalate stale claims'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "b605110b-2b09-5651-9b3f-c6ba0a6ee09d",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "79b18bfc-ef99-52ee-bbca-55c840b83b8e",
                  "name": "Request",
                  "abstract": false,
                  "fields": [],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Escalate stale claims' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "4e00256f-4ac0-58a4-a4fb-c9be971ec280",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "e6112b44-070c-519f-bf1a-056677107cd6",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "How many claims were escalated.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "bbe1da50-a0a2-5e4f-aa30-20b792d7ee8f",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "7456decb-1c4d-59cc-b5b9-276a02c9e1d6",
                      "name": "escalated",
                      "dataType": "7fffc5aa-cfb8-50e5-b6b7-2f92f8a13315",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [
                  {
                    "annotations": [
                      {
                        "annotations": [],
                        "body": "The response states how many claims were escalated.",
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "id": "a8c7069a-057a-58b7-92a8-002b795b31cb",
                        "language": "en",
                        "markup": "text_plain",
                        "name": "Description",
                        "purpose": "shortDescription"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "dbae0b8b-5612-5a67-addc-0bc2fa2131db",
                    "name": "Escalations counted",
                    "formalSpecification": {
                      "body": "response.escalated >= 0",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": [],
                    "requiredBy": [],
                    "isPostCondition": true
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false,
                "scheduledTrigger": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "Six o'clock each morning, Johannesburg time.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "2ec36f89-dcf6-5c27-94b0-ed1fb2beaea2",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "960f3c2c-8ee1-5dbc-aed5-5cc89c313ec7",
                  "name": "Every morning",
                  "schedule": "0 6 * * *",
                  "timeZone": "Africa/Johannesburg",
                  "deploymentOverridable": true,
                  "isEvent": true,
                  "variant": "DateTimeEvent"
                }
              },
              {
                "annotations": [
                  {
                    "annotations": [],
                    "body": "A claims manager reviews a claim that has stayed open too long.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "46abc89a-48d0-594f-9b58-9a81210aa146",
                    "language": "en",
                    "markup": "text_plain",
                    "name": "Description",
                    "purpose": "shortDescription"
                  },
                  {
                    "annotations": [],
                    "body": "A **person's** service: a task in the claims managers' work list.",
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "id": "6b6c699e-3764-578c-98fb-d74779512d84",
                    "language": "en",
                    "markup": "text_markdown",
                    "name": "Details",
                    "purpose": "detailedDescription"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "id": "6b6fa890-712d-50d9-b146-a2cdf88d98fc",
                "name": "Review stale claim",
                "requestDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What is supplied when requesting 'Review stale claim'.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "a3b7d309-2227-5d9c-b595-fcfc95787d42",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "3b88958b-562b-5abb-9a4c-d466ec255975",
                  "name": "Request",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "The claim.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "a7950d2f-8537-5488-b360-a85e3ac5ac95",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "15ae7034-2951-5a4b-b4e0-e7e022df85ed",
                      "name": "claim",
                      "dataType": "072a386f-b1b3-5867-8821-16aeb8ab4024",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "responseDataStructure": {
                  "annotations": [
                    {
                      "annotations": [],
                      "body": "What 'Review stale claim' yields once rendered.",
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "529bc445-f25f-56e6-bcb6-d333e5dbe112",
                      "language": "en",
                      "markup": "text_plain",
                      "name": "Description",
                      "purpose": "shortDescription"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "id": "6627fcbf-bae9-5e71-8007-fccb16f311dc",
                  "name": "Response",
                  "abstract": false,
                  "fields": [
                    {
                      "annotations": [
                        {
                          "annotations": [],
                          "body": "What the manager did about it.",
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "id": "a474c572-d194-57f1-8ba6-eb400ed167d5",
                          "language": "en",
                          "markup": "text_plain",
                          "name": "Description",
                          "purpose": "shortDescription"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "id": "168de979-b3a0-5561-b7db-c4e5cb5095b1",
                      "name": "action",
                      "dataType": "e6981e19-3b11-5092-a4ca-0cf8204f3402",
                      "invariances": [],
                      "multiplicity": "1",
                      "relationship": "composition"
                    }
                  ],
                  "invariances": [],
                  "variant": "DataStructure"
                },
                "preConditions": [],
                "postConditions": [],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "waivedPreConditions": [],
                "isQuery": false
              }
            ]
          }
        ],
        "serviceContracts": []
      }
    ]
  }
}
