{
  "manifest": {
    "formatVersion": 1,
    "kind": "model",
    "name": "Online Auctioneer",
    "branch": "main",
    "ref": "main",
    "commit": "0000000000000000000000000000000000000000",
    "exportedAt": "2026-11-12T00:00:00Z"
  },
  "model": {
    "id": "c7ac5642-5bca-5a0b-b470-cb27f4e17c51",
    "name": "Online Auctioneer",
    "isModel": true,
    "annotations": [
      {
        "id": "9c9ab99b-9e85-54ba-8a53-10a1d37db4ed",
        "name": "Description",
        "annotations": [],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "body": "An online auction platform: members list items, bid for them, and complete each sale.",
        "purpose": "shortDescription",
        "language": "en",
        "markup": "text_plain"
      },
      {
        "id": "534faa1d-9567-51b7-b3db-b1d02f6586cd",
        "name": "Details",
        "annotations": [],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "body": "An example model of an eBay-like auctioneer, built on StandardLib, FinanceLib and CommerceLib. Formal URDAD-OCL is written at the leaf services; each use case keeps its pre- and post-conditions in prose and delegates them whole to the service that meets them.",
        "purpose": "detailedDescription",
        "language": "en",
        "markup": "text_markdown"
      }
    ],
    "formalizationOf": [],
    "formalizationSnapshots": [],
    "responsibilityDomains": [
      {
        "id": "7a2362b6-82c8-5f3f-8139-2df9c268eaae",
        "name": "Administrator",
        "annotations": [
          {
            "id": "830124cc-aaa0-5da8-8664-fb0da089b00b",
            "name": "Description",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "A person who sets the platform's terms.",
            "purpose": "shortDescription",
            "language": "en",
            "markup": "text_plain"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "responsibilityDomains": [],
        "serviceContracts": [],
        "dataTypes": [],
        "entities": [],
        "processes": [],
        "exceptions": []
      },
      {
        "id": "d1301897-a01a-5597-8906-ce80df5e57b2",
        "name": "Auctioneer",
        "annotations": [
          {
            "id": "e2d172cf-f836-548c-8288-a16e642543f7",
            "name": "Description",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "The online auctioneer: runs the auctions and completes each sale.",
            "purpose": "shortDescription",
            "language": "en",
            "markup": "text_plain"
          },
          {
            "id": "b6c93047-7940-5f0c-be16-9650482a3e06",
            "name": "Details",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "The organisation whose platform this is. Stakeholder of the platform's own rules: who may bid, when an auction closes, what the platform charges.",
            "purpose": "detailedDescription",
            "language": "en",
            "markup": "text_markdown"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "responsibilityDomains": [
          {
            "id": "3d16b367-bade-56ee-a7ec-edd6f7a487b3",
            "name": "Listings",
            "annotations": [
              {
                "id": "e813c249-1407-5e7f-a1ec-fadc29e1f99e",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "What is on offer and what was bid for it.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "id": "f156f3ea-ed4c-537c-a13b-8c21ac70a7cb",
                "name": "Close listing",
                "annotations": [
                  {
                    "id": "00de8f1d-5aa7-5d8a-b8d3-a51e006ac2f5",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Closes a listing at its closing time and reports the highest bid, if any.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "1f394c9c-ce7c-5db4-8515-888ef706acb6",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "1900e081-9ec9-5754-a8e4-b1d2f27da123",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Close listing'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "298d42d1-c272-5bea-a5e7-e9b340fa1289",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "bda447c4-bb09-530f-b034-9b8fbda9cc30",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing to close.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "6f6f1996-68b9-5293-8d1f-93d235f66fad",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "6ef808b8-b78d-54a5-98d1-5781df0ca019",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Close listing' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "c3f91d10-de30-5328-b67b-c6a596e4db65",
                      "name": "sellerLogin",
                      "annotations": [
                        {
                          "id": "e2cf740f-922a-5725-8630-ca8f572cde5e",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The seller, by their login.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "886a7524-049b-5135-9f2d-ef44e4d0aebd",
                      "name": "shippingCost",
                      "annotations": [
                        {
                          "id": "770b9682-4d69-5f4f-ac5d-abd06b179e1d",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays for shipping.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "08b44d84-8274-52a0-ae19-bc8ba48eebfb",
                      "name": "title",
                      "annotations": [
                        {
                          "id": "0a13db40-5722-518b-a241-c085c8c5e253",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the item is.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "99c0ea34-8f59-573a-b173-0ee4ab6e0a19",
                      "name": "winningBid",
                      "annotations": [
                        {
                          "id": "f525f6bd-27b8-5798-99a9-72b36f6678a2",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The highest bid, where any was made.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "d485e466-1f51-58e4-9d8f-faadd7c4cba9",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "e95ddd99-3e77-5fb3-b830-d426c9d476a2",
                    "name": "Closing time reached",
                    "annotations": [
                      {
                        "id": "34df1498-458f-522e-9209-e8765b050adb",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "A listing is not closed early.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->forAll(l | l.listingNumber = request.listingNumber implies l.closesAt <= now())",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "08011db5-a7c8-5d0d-b4f4-5e27d6a35ce2",
                      "name": "Closing time reached not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "b90221c7-753e-5038-9387-503142a824a2",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Close listing' is requested while 'Closing time reached' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "766f2b38-768c-59a5-b55c-cc22a8a3e79e",
                    "name": "Listing still open",
                    "annotations": [
                      {
                        "id": "c7a86ffe-5424-55d3-850b-61dbcc02cefe",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "A listing is closed once.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->exists(l | l.listingNumber = request.listingNumber and l.status = ListingStatus::open)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "ea4a8dc2-a7a5-52d3-a1f9-09de5b99ae6c",
                      "name": "Listing still open not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "5f6049f0-6368-534f-ba30-48b74d77217a",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Close listing' is requested while 'Listing still open' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "ff5656b5-7504-5691-8c52-0a74f789ccea",
                    "name": "Highest bid reported",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "0d7f7f84-5411-566d-834f-a79c50e49ced",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The highest of the bids made is answered, and none where none was made.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.winningBid = if Listing.allInstances()->any(l | l.listingNumber = request.listingNumber).bids->isEmpty() then null else Listing.allInstances()->any(l | l.listingNumber = request.listingNumber).bids->sortedBy(b | b.amount.amount)->last() endif",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "3c538780-7fbc-50ff-8446-b38cc5f09dc9",
                    "name": "Listing closed",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "9719aa9e-ec8e-54d8-ab79-c595e639d61e",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The listing takes no more bids.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->exists(l | l.listingNumber = request.listingNumber and l.status = ListingStatus::closed)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "3d16b367-bade-56ee-a7ec-edd6f7a487b3"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "3be8b895-d655-580e-9524-9d3cd0fe2871",
                    "name": "Listing reported",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "5741d9ac-27e9-5e24-839a-b0c0dc70c8cc",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What a sale needs of the listing is answered.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.title = Listing.allInstances()->any(l | l.listingNumber = request.listingNumber).title and response.sellerLogin = Listing.allInstances()->any(l | l.listingNumber = request.listingNumber).seller.login and response.shippingCost = Listing.allInstances()->any(l | l.listingNumber = request.listingNumber).shippingCost",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "2ff489d3-5476-5bd5-8cdd-b90c4d53b3f1",
                    "name": "Seller is a member",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "5d31168b-9b13-5e8d-968e-d6e386f774a2",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The seller answered is a member, so a sale can ask Membership about them.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->collect(m | m.login)->includes(response.sellerLogin)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                ],
                "appliesToCurrentState": "The write applies to the listing as stored, in its own transaction: the pre-conditions are decided against that same state, so there is no version read before to compare with."
              },
              {
                "id": "f9bea02f-0747-5292-a5be-92f0f912e9ff",
                "name": "List item",
                "annotations": [
                  {
                    "id": "30f540e4-d4c2-5351-bee2-c89e2ee9dee0",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A member offers an item for auction.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "c641a9eb-8a04-5ecc-b02b-ba1dc162a747",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "b0e2d78b-9932-5fa7-91df-c3598337abb0",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'List item'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [
                    {
                      "id": "d9ab21c9-86d0-5cd7-9a5b-52a188e66f22",
                      "name": "Amounts in euro",
                      "isInvariance": true,
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "formalSpecification": {
                        "body": "self.startingBid.currency = Currency::EUR and self.shippingCost.currency = Currency::EUR",
                        "specificationLanguage": "OCL"
                      },
                      "requiredBy": []
                    },
                    {
                      "id": "bc89fc94-80d4-59c4-b82e-a86e572adc44",
                      "name": "Shipping cost is not negative",
                      "isInvariance": true,
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "formalSpecification": {
                        "body": "self.shippingCost.amount >= 0",
                        "specificationLanguage": "OCL"
                      },
                      "requiredBy": []
                    },
                    {
                      "id": "e8e2c5ef-6179-5078-963e-a5994fe8dfdb",
                      "name": "Starting bid is positive",
                      "isInvariance": true,
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "formalSpecification": {
                        "body": "self.startingBid.amount > 0",
                        "specificationLanguage": "OCL"
                      },
                      "requiredBy": []
                    }
                  ],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "3077b1b5-7a98-5dde-bf74-eeebb25a23c3",
                      "name": "closesAt",
                      "annotations": [
                        {
                          "id": "f85cdc48-9b5f-541e-8bac-a27f50c22299",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "When bidding closes.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "3c478100-7e54-4ea0-9ed1-01a8c663726c",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "961fed08-95be-56a2-bed5-d80a815bcc80",
                      "name": "condition",
                      "annotations": [
                        {
                          "id": "783e16b3-97cb-559d-a34d-09cb09251c85",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The state the item is in.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "dce7ee59-604a-4e46-b812-b1e484b8890d",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "06166345-d3cd-5ef9-b17a-b6768a8372c3",
                      "name": "description",
                      "annotations": [
                        {
                          "id": "e5ccdad4-b9fa-57c8-8429-7eb499dd7c05",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The item described.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "fca68699-6e6a-5d01-9cc0-d27b05b0bb34",
                      "name": "documents",
                      "annotations": [
                        {
                          "id": "a4059b2c-aa33-579f-9fa5-f887cac4851d",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Supporting documents, by URL.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "d107d859-70b6-417f-8046-8dd6fb369749",
                      "relationship": "composition",
                      "multiplicity": "0..*"
                    },
                    {
                      "id": "37fcc2d3-82c8-55e4-8276-cc0c64f37374",
                      "name": "photos",
                      "annotations": [
                        {
                          "id": "85a7e8f9-1178-5678-8a40-cd9c9d2cd944",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Photos of the item, by URL.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "d107d859-70b6-417f-8046-8dd6fb369749",
                      "relationship": "composition",
                      "multiplicity": "1..12"
                    },
                    {
                      "id": "40c88377-a026-54fd-8b2f-85b95491fc53",
                      "name": "shippingCost",
                      "annotations": [
                        {
                          "id": "7ab1f019-d73d-5577-a55d-7fd9b6911e10",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays for shipping.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "8c4b649f-c448-5a5b-bc4c-8da2d6984654",
                      "name": "startingBid",
                      "annotations": [
                        {
                          "id": "b3b53b5c-337d-5a5b-9daf-bf53c7f3dc84",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The lowest bid to accept.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "4e5a896b-f5de-5e2b-9d7e-a4fa233b2d87",
                      "name": "title",
                      "annotations": [
                        {
                          "id": "b22ddb6d-86fb-5f78-ab42-153f0acaa9d9",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the item is, in a line.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "09fd0308-b95f-5c0c-b9fd-29b8b46ec8a5",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "30613b43-c870-5880-b886-0ac2a06b11fc",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'List item' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "aa9448b7-ddf1-5d8b-808c-a0f0ed7d0d24",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "35c894f2-be4f-590d-a5af-bd9be9b20eee",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing number issued.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "561b62c3-aa83-58f5-98a6-c954de50a2f1",
                    "name": "Closes in the future",
                    "annotations": [
                      {
                        "id": "26703168-c09a-5440-ab25-cb8f6cc2b4c9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "An auction cannot close before it opens.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "request.closesAt > now()",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "24c57bbf-2b20-5f9b-99a6-511ae6560af4",
                      "name": "Closes in the future not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "ec8bb68f-720f-512c-b846-2e2c396a69b5",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'List item' is requested while 'Closes in the future' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "71b5d686-d4a4-5738-9e24-8458b19d03e5",
                    "name": "May sell",
                    "annotations": [
                      {
                        "id": "fef01316-86fa-520b-96b6-97ab9f79de66",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The person listing is a member.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "1515815d-8c08-58f8-a6e3-4050b6370510",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record listing* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "0c7b7084-ffec-567b-9196-e92f15196dd4",
                      "name": "May sell not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "5c362ff7-7942-5ffb-a0e2-fdab5f2c3234",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'List item' is requested while 'May sell' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "8d23b214-e0de-55df-a74e-681fd2366414",
                    "name": "Auction closed at its closing time",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "e277f895-1792-58a7-ae8e-a980950ec088",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "At its closing time the listing is closed, and sold to its highest bidder if anyone bid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "03e386c9-e1a6-54c7-9892-a334c85081f9",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose. A background flow of the process waits until the listing's own closing time, then requests *Complete sale*.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "da5a168d-fb60-5d1b-94a5-d9806889ddd2",
                    "name": "Item listed",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "81866b44-c7f0-53e6-90d7-98e333f90ee9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The item is on offer in the seller's name, open for bids.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "e97dad36-d8b3-5c46-abc4-c4f2318ab619",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record listing* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                ]
              },
              {
                "id": "6db0f014-6bc7-57d8-9e7f-7d2c3ee470e3",
                "name": "Place bid",
                "annotations": [
                  {
                    "id": "33633e6b-b7bf-52e8-9da1-7ea76a93e6a3",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A member bids for an item on offer.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "d8f617fe-f767-5d40-8efd-ba45d70e563b",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "766a1d7c-72ca-53a2-a6a6-867e47c01ec7",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Place bid'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [
                    {
                      "id": "1290b7f6-360a-5a76-bfd6-6b25ec36b235",
                      "name": "Bid in euro",
                      "isInvariance": true,
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "formalSpecification": {
                        "body": "self.amount.currency = Currency::EUR",
                        "specificationLanguage": "OCL"
                      },
                      "requiredBy": []
                    }
                  ],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "e8953b76-2eef-5865-bb0c-6a17ed7c3c41",
                      "name": "amount",
                      "annotations": [
                        {
                          "id": "8124b455-ce23-5bce-afe5-0f648446338f",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What they bid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "0a4ec43b-aa3a-5086-8ccc-a9980364a484",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "eb1209b8-bafb-583a-83a0-dbf476d4d24c",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing bid for.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "1887aa1c-af95-5f4e-91a5-99ebca2c9b50",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "f6c15043-2db3-5a0d-a43d-c8933515f4ae",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Place bid' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "preConditions": [
                  {
                    "id": "2555b64d-88c3-59f7-9002-cfb7baddbcf2",
                    "name": "Bid acceptable",
                    "annotations": [
                      {
                        "id": "829e0262-afb8-5bad-9e31-ff3b78b19287",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The bid is one the auction takes.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "dde14d8f-d4eb-5580-bce0-1e7aeee3478c",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record bid* states each rule formally, and the refinement says so. A refused bidder is told which rule refused them.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "b0d70c97-224a-519a-aa1d-ce4fc5664e4e",
                      "name": "Bid acceptable not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "a5bff03f-94d0-5556-82c5-3cae7eb8c4a3",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Place bid' is requested while 'Bid acceptable' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": [],
                    "discloseReason": true
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "2e703367-a2e6-56d9-9824-d92f4d61f25f",
                    "name": "Bid placed",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "6f829f68-e8e4-5156-bbb5-462c5cfeef15",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The bid stands, in the bidder's name.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "2e6bc17d-4b5c-5f4e-9af3-bfeca7472742",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record bid* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                ]
              },
              {
                "id": "4747f9af-1ac9-5c15-a5fc-5c9831e6978c",
                "name": "Record bid",
                "annotations": [
                  {
                    "id": "d390a8cc-fa96-5113-8ee9-862b6c28c148",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records a bid for an open listing.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "73f05e51-2ff3-5ed9-9c3d-28224e9b4d1b",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "f6907b8a-dddd-5155-9941-603ae162d2d9",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Record bid'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "c3d9c903-0fc1-5285-9f6d-c534eda97a58",
                      "name": "amount",
                      "annotations": [
                        {
                          "id": "c8bf7fff-8533-5348-8858-03080a5b6f74",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What they bid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "6644f008-65fa-51b9-93b2-74997a0e43df",
                      "name": "bidderLogin",
                      "annotations": [
                        {
                          "id": "e7b2a18a-1614-53b6-91f6-63f62988be2e",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The bidder, by their login.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "50083af1-f329-5c91-87d7-f118682a6f2e",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "de331462-941c-5b79-9890-7e9dab06d2ed",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing bid for.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "23eeee4a-bd17-5aae-801a-3d0bf71fbcc8",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "4aa6fc7c-a471-545a-a6b6-9f0426f0d4a3",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Record bid' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "preConditions": [
                  {
                    "id": "c70b4694-ce79-5d4d-824e-87b744d3063c",
                    "name": "Bid above the current price",
                    "annotations": [
                      {
                        "id": "554627d5-7bf0-52e4-9f35-38e2bf1fccd2",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "A first bid is at least the starting bid; any later one beats the highest so far.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->forAll(l | l.listingNumber = request.listingNumber implies (if l.bids->isEmpty() then request.amount.amount >= l.startingBid.amount else request.amount.amount > l.bids->collect(b | b.amount.amount)->max() endif))",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "59b0dba1-291f-54d7-b2d4-273f5fef9134",
                      "name": "Bid above the current price not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "08537205-f6b6-5089-969e-39bb61b32a8f",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record bid' is requested while 'Bid above the current price' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "d0977d01-4e1a-51ba-b1e1-5564687195a4",
                    "name": "Bidder is a member",
                    "annotations": [
                      {
                        "id": "f15987b8-b220-5f52-9229-4af196089190",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Only a member may bid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->exists(m | m.login = request.bidderLogin)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "cfb18678-eb54-5bde-a50f-e85dc3b17e6d",
                      "name": "Bidder is a member not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "941326b5-2551-5492-ab81-f6834b2138cc",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record bid' is requested while 'Bidder is a member' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "6e26af8f-5ec1-5f22-b4dd-b056ac8081d4",
                    "name": "Bidder is not the seller",
                    "annotations": [
                      {
                        "id": "de15653c-31d4-587d-a477-ce1fa7a9a160",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "A seller may not bid for their own item.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->forAll(l | l.listingNumber = request.listingNumber implies l.seller.login <> request.bidderLogin)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "3addf15d-26cc-5d8e-b487-b4a80220b8fe",
                      "name": "Bidder is not the seller not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "07a5732b-1729-5ada-a5a3-7d161a7b46db",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record bid' is requested while 'Bidder is not the seller' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "d5d8ccae-1f75-50ab-bcb6-6491a5b0b2b6",
                    "name": "Bidding has not closed",
                    "annotations": [
                      {
                        "id": "ca7fefa1-e2ab-5a40-93b9-8a6240697f27",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "No bid is taken once the closing time has passed.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->forAll(l | l.listingNumber = request.listingNumber implies now() < l.closesAt)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "cb8b122d-220b-57ee-90f0-ceb21f6ee775",
                      "name": "Bidding has not closed not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "45a7cc3d-324a-534a-b1e5-e38ed2134dac",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record bid' is requested while 'Bidding has not closed' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "87843aaa-2a81-592e-9bd1-81dc11613f14",
                    "name": "Listing is open",
                    "annotations": [
                      {
                        "id": "9cbb9389-a83f-50ec-80bb-cdd452be4d32",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Bids are taken only for a listing still open.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->exists(l | l.listingNumber = request.listingNumber and l.status = ListingStatus::open)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "c1733763-3fcb-53f7-9d94-a5446a302361",
                      "name": "Listing is open not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "0d766795-164c-5c20-8f83-bcfe05931bc9",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record bid' is requested while 'Listing is open' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "f619be25-afe9-5f1e-b143-c4a90bf0ae50",
                    "name": "Bid recorded",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "73ab16b2-3527-5d75-a744-9fd05bf70619",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The bid is kept with the listing, as made now.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->exists(l | l.listingNumber = request.listingNumber and l.bids = l.bids@pre->including(Tuple{bidderLogin = request.bidderLogin, amount = request.amount, placedAt = now()}))",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "3d16b367-bade-56ee-a7ec-edd6f7a487b3"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "appliesToCurrentState": "The write applies to the listing as stored, in its own transaction: the pre-conditions are decided against that same state, so there is no version read before to compare with."
              },
              {
                "id": "a1391aa9-a253-525a-8df3-613f21546a71",
                "name": "Record listing",
                "annotations": [
                  {
                    "id": "334cf6e6-f6b7-58ca-9840-33f56f7ac47f",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records an item offered for auction.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "ddd210f6-5ab9-51f6-a122-047a1eb3b1f7",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "c98caf35-9064-5394-bab7-11324915708c",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Record listing'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "de2e4d42-6421-5f63-bffd-6b09524a7f74",
                      "name": "closesAt",
                      "annotations": [
                        {
                          "id": "e4edeeb4-90df-55a0-9c50-7fac5f04a9fd",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "When bidding closes.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "3c478100-7e54-4ea0-9ed1-01a8c663726c",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "62962ebf-e9a1-5c90-b6c3-bcc146278b29",
                      "name": "condition",
                      "annotations": [
                        {
                          "id": "ec46bb0a-c4f5-5d0e-b889-3319a70bd883",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The state the item is in.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "dce7ee59-604a-4e46-b812-b1e484b8890d",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "02fd4fd3-7331-549c-a314-413e1f7acf9c",
                      "name": "description",
                      "annotations": [
                        {
                          "id": "d3b053f5-bb09-5ad1-8579-d57cd299d958",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The item described.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "a34f1aa6-a26a-55da-9631-37dc0bfacd44",
                      "name": "documents",
                      "annotations": [
                        {
                          "id": "e2bc8b8b-8dcb-5f85-9233-6f3d1fe6603d",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Supporting documents, by URL.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "d107d859-70b6-417f-8046-8dd6fb369749",
                      "relationship": "composition",
                      "multiplicity": "0..*"
                    },
                    {
                      "id": "99a05942-c248-5a3a-9ca0-08cf014f887c",
                      "name": "photos",
                      "annotations": [
                        {
                          "id": "15ff1c2c-ecd1-5120-81da-428db3630bf4",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Photos of the item, by URL.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "d107d859-70b6-417f-8046-8dd6fb369749",
                      "relationship": "composition",
                      "multiplicity": "1..12"
                    },
                    {
                      "id": "25c3aad0-6a04-5a3a-adde-fa13d73a30e7",
                      "name": "sellerLogin",
                      "annotations": [
                        {
                          "id": "981ec2ab-081d-5501-93be-a3802d0dfa9c",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The seller, by their login.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "45cbafb9-f118-55e7-bec3-edd145807390",
                      "name": "shippingCost",
                      "annotations": [
                        {
                          "id": "8fcab8ec-1ecd-5684-ae7b-8387b93d8ed7",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays for shipping.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "556a6d5b-dda4-58c5-b06d-641944e3e72b",
                      "name": "startingBid",
                      "annotations": [
                        {
                          "id": "c856310e-65bc-5459-a78e-dff12958e3f9",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The lowest bid to accept.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "7ea16f29-d7d9-5698-96f6-38ef7b35f681",
                      "name": "title",
                      "annotations": [
                        {
                          "id": "bda428aa-318a-5322-a2d6-477adff295f5",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the item is, in a line.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "2561297c-51db-5550-b446-ba72dbb55b99",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "fed3c572-363a-5565-960d-24a42e09db41",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Record listing' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "f5c7c19e-3db9-5667-823c-b0ead94c1f64",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "09b36070-8955-566a-9760-c28b02fc5a85",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The number issued.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "35192f5e-08da-57ba-aee6-85bf61d38b81",
                    "name": "Seller is a member",
                    "annotations": [
                      {
                        "id": "9734fda9-2fce-525d-a888-b849106a8afd",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Only a member may sell.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->exists(m | m.login = request.sellerLogin)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "90bf5289-0a0b-5343-a7ef-5c4a410c132d",
                      "name": "Seller is a member not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "f9eb6a9d-9dee-5429-8d60-21dd741717a4",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record listing' is requested while 'Seller is a member' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "d850ed41-53a0-54be-aabf-32b1c51ec524",
                    "name": "Listing number is new",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "53433e1b-41a5-546f-a016-55e413a55aeb",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The number issued belonged to no listing before.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances@pre()->forAll(l | l.listingNumber <> response.listingNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "3d16b367-bade-56ee-a7ec-edd6f7a487b3"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "4260a539-9dc6-52f1-9a07-8ad654e4d34d",
                    "name": "Listing recorded",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "4915292c-ce47-5460-9128-b23d93492c77",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The item is on offer, open for bids, with none made yet.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->exists(l | l.listingNumber = response.listingNumber and l.seller.login = request.sellerLogin and l.title = request.title and l.description = request.description and l.photos = request.photos and l.documents = request.documents and l.condition = request.condition and l.startingBid = request.startingBid and l.shippingCost = request.shippingCost and l.closesAt = request.closesAt and l.status = ListingStatus::open and l.bids = Set{})",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "3d16b367-bade-56ee-a7ec-edd6f7a487b3"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": []
              }
            ],
            "dataTypes": [
              {
                "id": "d485e466-1f51-58e4-9d8f-faadd7c4cba9",
                "name": "Bid",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "79f1a300-bc0b-5eb1-bcbd-5abfc7af96bd",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "One bid made for a listing.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [],
                "abstract": false,
                "fields": [
                  {
                    "id": "43943447-6720-53c1-be37-982582f694c4",
                    "name": "amount",
                    "annotations": [
                      {
                        "id": "92f38bb3-d765-5cb4-bf44-0047dbfac621",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What they bid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "ef6e2887-f245-550a-8b6f-86f527017bab",
                    "name": "bidderLogin",
                    "annotations": [
                      {
                        "id": "e8947e13-950e-5b63-8377-09573776966c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Who bid, by their login.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "79498d29-1e88-5b38-942d-98b5e109128c",
                    "name": "placedAt",
                    "annotations": [
                      {
                        "id": "590ca118-4e38-5a47-aec5-f2b3a7dcf5d7",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "When the bid was made.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "3c478100-7e54-4ea0-9ed1-01a8c663726c",
                    "relationship": "composition",
                    "multiplicity": "1"
                  }
                ]
              },
              {
                "id": "e8050dfd-03f5-5e62-aa0a-ac7bd199ae5e",
                "name": "ListingRecord",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "26c3cb32-bd09-5232-b9d6-e77a7c5be054",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The auctioneer's record of one item on offer.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "2818797f-5021-5317-869c-6ac2cc4ad739",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A **facet** of the `Listing` entity. Its bids are values, kept with the listing.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [
                  {
                    "id": "ccc809b8-bfa8-5fb7-8ea4-e7b92af2ae30",
                    "name": "Amounts in euro",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.startingBid.currency = Currency::EUR and self.shippingCost.currency = Currency::EUR",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  },
                  {
                    "id": "c318270a-1765-5d9b-8303-d0eca95333aa",
                    "name": "Listing number format",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.listingNumber.matches('LI-[0-9]{4,}')",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  },
                  {
                    "id": "92f5f56e-817f-5cd4-acfc-16a22d8009b9",
                    "name": "Shipping cost is not negative",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.shippingCost.amount >= 0",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  },
                  {
                    "id": "4ffe0aea-a3df-559c-9811-7b45f90ff7ea",
                    "name": "Starting bid is positive",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.startingBid.amount > 0",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  }
                ],
                "abstract": false,
                "fields": [
                  {
                    "id": "4fc68ec5-6640-532e-8354-7a50ae81724f",
                    "name": "bids",
                    "annotations": [
                      {
                        "id": "4f7b027d-97f7-5d17-ba21-7f7be39a8e57",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The bids made, in the order made.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "d485e466-1f51-58e4-9d8f-faadd7c4cba9",
                    "relationship": "composition",
                    "multiplicity": "0..*"
                  },
                  {
                    "id": "0a55ab49-3c5f-5be3-8263-3f4ff28226a9",
                    "name": "closesAt",
                    "annotations": [
                      {
                        "id": "9284c09f-5f34-568b-a9cd-b5aa07da559a",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "When bidding closes.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "3c478100-7e54-4ea0-9ed1-01a8c663726c",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "17f70865-8155-5a55-87ae-7359225a1b50",
                    "name": "condition",
                    "annotations": [
                      {
                        "id": "d469caf5-298f-55bb-b2ff-8de1f786739e",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The state the item is in.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "dce7ee59-604a-4e46-b812-b1e484b8890d",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "56c112f2-fd91-56e2-bfaf-9f348f70f8b3",
                    "name": "description",
                    "annotations": [
                      {
                        "id": "88a950fa-87b5-5922-8f12-affeb011620c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The item described.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "819ae5b9-8345-5850-bf9c-c148778b60c1",
                    "name": "documents",
                    "annotations": [
                      {
                        "id": "0e7101f9-5e4f-5e9b-953e-53fb89ac15c9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Supporting documents, by URL.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "d107d859-70b6-417f-8046-8dd6fb369749",
                    "relationship": "composition",
                    "multiplicity": "0..*"
                  },
                  {
                    "id": "ac763049-4bda-5ab3-aef3-b679fb01e353",
                    "name": "listingNumber",
                    "annotations": [
                      {
                        "id": "a0764a19-cd04-5504-8acb-58fe18ddfdc9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The listing's number.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "15da608e-1e42-52b8-b206-ca82788e5f8f",
                    "name": "photos",
                    "annotations": [
                      {
                        "id": "475ad86c-a0a3-543e-a738-a190feb1b19e",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Photos of the item, by URL.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "d107d859-70b6-417f-8046-8dd6fb369749",
                    "relationship": "composition",
                    "multiplicity": "1..12"
                  },
                  {
                    "id": "491b079b-679e-5fbc-97cc-56908c5c7f49",
                    "name": "seller",
                    "annotations": [
                      {
                        "id": "d89f4c9c-dc1c-5df6-8d0a-ffe8be597e7e",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The member selling the item.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "16bbe8be-208b-58e0-bacf-4fb18dacc380",
                    "relationship": "association",
                    "multiplicity": "1"
                  },
                  {
                    "id": "e78c1b42-e575-530e-9839-b500792a2e3a",
                    "name": "shippingCost",
                    "annotations": [
                      {
                        "id": "e5805d93-792a-596f-804b-a8ffd5ae1d87",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What the buyer pays for shipping.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "7da5b7ee-b9b5-5a8c-9916-8fb518f36496",
                    "name": "startingBid",
                    "annotations": [
                      {
                        "id": "65385589-61b5-5c4a-aa0f-a17d1d0bd616",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The lowest bid accepted.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "d45c432b-b63f-584d-8170-8ef763410ea7",
                    "name": "status",
                    "annotations": [
                      {
                        "id": "f1f42eff-de9e-5959-aabb-711337d0802f",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Whether the listing still takes bids.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "5161e55d-5778-5cb2-a8bb-e17e5de77852",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "6faf1f56-8363-5190-aa41-192ece46d10d",
                    "name": "title",
                    "annotations": [
                      {
                        "id": "f51d2afe-370b-5e6b-877d-371dff28222b",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What the item is, in a line.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "3e39e56f-b3a9-5409-94ba-1496b5b4b33e",
                    "name": "version",
                    "annotations": [
                      {
                        "id": "36f63c1b-6c0a-515f-9246-0be11db4e0d0",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The version of the listing read.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "158ecbc4-0e6b-4efe-b3d0-cb28b441fd44",
                    "relationship": "composition",
                    "multiplicity": "1"
                  }
                ]
              },
              {
                "id": "5161e55d-5778-5cb2-a8bb-e17e5de77852",
                "name": "ListingStatus",
                "variant": "Enumeration",
                "annotations": [
                  {
                    "id": "cb43377e-8892-55bd-907d-e2f8aad6c7b6",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Whether a listing still takes bids.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [],
                "options": [
                  "closed",
                  "open"
                ]
              }
            ],
            "entities": [
              {
                "id": "b4852c4a-6516-5496-bce0-df764c0240a1",
                "name": "Listing",
                "annotations": [
                  {
                    "id": "61d7550d-c61f-58cb-88dc-af2ba845cbbc",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "An item offered for auction, with the bids made for it.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "readableBy": [
                  "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                ],
                "facetBindings": [
                  {
                    "id": "e89586d0-1966-5c14-9769-1b9ebd15bdba",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "structure": "e8050dfd-03f5-5e62-aa0a-ac7bd199ae5e",
                    "fieldRoles": [
                      {
                        "id": "242dbf63-4102-5083-b6f3-b584787f6edf",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "0a55ab49-3c5f-5be3-8263-3f4ff28226a9",
                        "role": "states"
                      },
                      {
                        "id": "1186d593-1585-5d76-9b0b-27be59f95c28",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "3e39e56f-b3a9-5409-94ba-1496b5b4b33e",
                        "role": "version"
                      },
                      {
                        "id": "c8a58d6d-6905-5d4c-8906-e36735c57056",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "4fc68ec5-6640-532e-8354-7a50ae81724f",
                        "role": "states"
                      },
                      {
                        "id": "a726cc4b-0054-5026-9485-39093da2c2cd",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "6faf1f56-8363-5190-aa41-192ece46d10d",
                        "role": "states"
                      },
                      {
                        "id": "6212efc6-ae4b-51e2-b909-3ca53a2ecad4",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "7da5b7ee-b9b5-5a8c-9916-8fb518f36496",
                        "role": "states"
                      },
                      {
                        "id": "41dc0dcf-6fab-510b-b4cb-1d90acea0ae2",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "15da608e-1e42-52b8-b206-ca82788e5f8f",
                        "role": "states"
                      },
                      {
                        "id": "e1995b18-6f4d-55d2-bbc0-ffb3aa3eb01b",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "17f70865-8155-5a55-87ae-7359225a1b50",
                        "role": "states"
                      },
                      {
                        "id": "0de6f072-802f-5ff1-93a6-ef491346476d",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "56c112f2-fd91-56e2-bfaf-9f348f70f8b3",
                        "role": "states"
                      },
                      {
                        "id": "f427c4a8-9d73-5473-98a0-bbdde8f2fd2e",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "491b079b-679e-5fbc-97cc-56908c5c7f49",
                        "role": "states"
                      },
                      {
                        "id": "16c26253-35a6-55a8-80f0-0fc7fa8a8859",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "819ae5b9-8345-5850-bf9c-c148778b60c1",
                        "role": "states"
                      },
                      {
                        "id": "ad68f68a-0bae-576a-9e3c-9e2f1d445a36",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "ac763049-4bda-5ab3-aef3-b679fb01e353",
                        "role": "identifies"
                      },
                      {
                        "id": "fc29cd40-832f-50f4-9beb-866eb869a30a",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "d45c432b-b63f-584d-8170-8ef763410ea7",
                        "role": "states"
                      },
                      {
                        "id": "7fea8949-9fcb-55ea-9230-d804e401c3b8",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "e78c1b42-e575-530e-9839-b500792a2e3a",
                        "role": "states"
                      }
                    ]
                  }
                ]
              }
            ],
            "processes": [
              {
                "id": "ae29f956-87f6-5e74-b300-4b8a55fa3993",
                "name": "List item",
                "variant": "Process",
                "annotations": [
                  {
                    "id": "af4f4385-f37d-55a7-b896-140da19c09a0",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records the listing in the caller's name, answers, and closes the auction at its closing time.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "activities": [
                  {
                    "id": "2429e1d1-4f77-5c24-9ee9-a2c1ba13803f",
                    "name": "Closes in the future",
                    "variant": "CheckPreCondition",
                    "annotations": [
                      {
                        "id": "81537fed-9f3e-5186-ae37-1f427f862aa9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Refuse unless 'Closes in the future' holds.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "preCondition": "561b62c3-aa83-58f5-98a6-c954de50a2f1"
                  },
                  {
                    "id": "6ec0b2ed-431b-50c9-b5e1-08fe93d8faf3",
                    "name": "Record listing",
                    "variant": "RequestService",
                    "annotations": [
                      {
                        "id": "9c0fd3cf-2b16-57d8-90dc-f8731b63b1fc",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Record the listing, in the caller's name.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "service": "a1391aa9-a253-525a-8df3-613f21546a71",
                    "requestConstraints": [
                      {
                        "id": "a6c08088-4cd1-5241-a8fd-c3298068613b",
                        "name": "closesAt",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "fbeedff2-3652-590c-a021-b75553be4092",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'closesAt' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.closesAt = request.closesAt",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "64008d6d-7be4-599c-a287-922ee7c3cc0d",
                        "name": "condition",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "d8b9fe18-a017-5884-b0db-9d248eaeb987",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'condition' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.condition = request.condition",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "749f85f5-5952-5464-9496-49a850d6a5be",
                        "name": "description",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "24eaef96-750b-5cc2-b534-e875552bdf1f",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'description' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.description = request.description",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "e0950221-1c41-5a9f-8a62-a47901fa2ef8",
                        "name": "documents",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "cc25aa12-1b82-5c78-a53a-389ccfe219af",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'documents' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.documents = request.documents",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "9869a53c-5cb5-5655-9d70-1b082b3a6e11",
                        "name": "photos",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "caa8ea31-043a-522f-b4e8-9ec5a0bd3b28",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'photos' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.photos = request.photos",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "f947ea3d-dbac-504b-9fc1-322e5df43039",
                        "name": "sellerLogin",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "a13afe30-e2cc-57d4-a8a6-c042ceada3b0",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'sellerLogin' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.sellerLogin = caller",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "6d3a3e3a-d8a8-5134-9153-c8523520c553",
                        "name": "shippingCost",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "0671d764-78ca-55d1-a829-d432881d35c2",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'shippingCost' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.shippingCost = request.shippingCost",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "e2b1171a-609d-563b-acda-63e325b8ee70",
                        "name": "startingBid",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "3df3bf4f-b6bd-589a-bba8-3fd26bf72c3a",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'startingBid' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.startingBid = request.startingBid",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "ee041b59-cb45-576a-a44b-cf0024b6161c",
                        "name": "title",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "82002a5c-176b-5ed4-a790-cf85a6193623",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'title' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.title = request.title",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "responseVariable": {
                      "id": "d12608f7-6cb9-5e77-a918-77ab7d1f66e7",
                      "name": "listed",
                      "annotations": [
                        {
                          "id": "b5635c8a-e5b3-5fb4-aaf5-b5ab1dca8f68",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing as recorded.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "2561297c-51db-5550-b446-ba72dbb55b99",
                      "multiplicity": "1"
                    },
                    "defaultFlow": {
                      "id": "a2cc5aa4-e599-50ad-9c4d-061210ec66a9",
                      "name": "default",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": []
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": []
                  },
                  {
                    "id": "74cb509f-0d8d-5d6f-a33b-218a0a1778c8",
                    "name": "Answer and await the close",
                    "variant": "ConcurrentFlows",
                    "annotations": [
                      {
                        "id": "db8c6a13-7fb8-5392-a1ea-92246cae123b",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Answer the seller at once, and close the auction later.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "concurrentFlows": [
                      {
                        "id": "6c5c017d-6f6e-55d2-a442-30d8a5f8d46e",
                        "name": "answer",
                        "variant": "ActivitySequence",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "activities": [
                          {
                            "id": "f6641376-917d-5d9c-b44f-2a22dcbc2cb8",
                            "name": "Report the listing number",
                            "variant": "PopulateResponse",
                            "annotations": [
                              {
                                "id": "ad28c6d8-4458-5497-a05a-83adee6fc142",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Answer with the number issued.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "responseConstraints": [
                              {
                                "id": "db6e2b9b-0269-513d-8f63-235feef62966",
                                "name": "listingNumber",
                                "variant": "ResponseConstraint",
                                "annotations": [
                                  {
                                    "id": "699b8bbd-6029-50fe-9fcb-0358e333e51a",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How the response's listingNumber is populated.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "response.listingNumber = listed.listingNumber",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ]
                          }
                        ]
                      },
                      {
                        "id": "c5343e43-a99e-5b86-94f7-a5a927e8c120",
                        "name": "Close at closing time",
                        "variant": "BackgroundFlow",
                        "isBackgroundFlow": true,
                        "annotations": [
                          {
                            "id": "891a2577-e8f1-5a4c-89f9-acc2d47bfeba",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Closes the auction when its time comes.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "activities": [
                          {
                            "id": "d4078440-035e-541d-88e7-34d33bc0e393",
                            "name": "Await the closing time",
                            "variant": "EventTriggeredFlows",
                            "annotations": [
                              {
                                "id": "4ac92549-09da-5d04-ac18-b65674a831d7",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Wait until the listing's own closing time.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "reactions": [
                              {
                                "id": "87d7e0e1-f1cd-5548-a827-bb2a9227508a",
                                "name": "Closing time reached",
                                "variant": "Reaction",
                                "annotations": [
                                  {
                                    "id": "0a25aeb0-56bb-52f5-9e31-c7fd522eac6c",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "The listing's closing time has come.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "activities": [
                                  {
                                    "id": "23902bdc-ae8c-52ba-a8db-53f78dfa240b",
                                    "name": "Complete sale",
                                    "variant": "RequestService",
                                    "annotations": [
                                      {
                                        "id": "35dd61b7-72e8-5c54-9b5d-5b2e58510338",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Close the listing and complete its sale.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "service": "ca8dc62d-a774-53bb-b5e5-3102c4a7615a",
                                    "requestConstraints": [
                                      {
                                        "id": "09cce894-f4f3-5970-965b-61c95a8a18e2",
                                        "name": "listingNumber",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "05e0abbf-bbef-5dc3-ab27-66bfd3262df2",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'listingNumber' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.listingNumber = listed.listingNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "instanceKind": "singleInstance",
                                    "processingMode": "parallel",
                                    "defaultFlow": {
                                      "id": "7365b0fe-ddeb-5cd4-a212-04a8a34bf209",
                                      "name": "default",
                                      "variant": "ActivitySequence",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "activities": []
                                    },
                                    "exceptionHandlers": [
                                      {
                                        "id": "6d3aa5f2-b104-53ab-81ff-9d4c79f78bde",
                                        "name": "handle Highest bidder can buy not met",
                                        "variant": "ExceptionHandler",
                                        "annotations": [
                                          {
                                            "id": "4a165dc7-b0c0-52f0-a043-425a425486a4",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "The listing was sold already, or its highest bidder has left: there is no sale to complete, and the listing stays as it was.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "activities": [],
                                        "exception": "bb5ac1f0-abcf-50d3-93e5-877affa0a33c",
                                        "ignoresException": true
                                      },
                                      {
                                        "id": "579375c8-c148-5529-b775-c0bbc1700f13",
                                        "name": "handle Listing ready to close not met",
                                        "variant": "ExceptionHandler",
                                        "annotations": [
                                          {
                                            "id": "11098ffd-3a1e-5094-b61f-41076036ec09",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "The listing was already closed, or is not due: there is nothing to complete.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "activities": [],
                                        "exception": "78717055-909d-5372-aa03-792af12515c6",
                                        "ignoresException": true
                                      }
                                    ],
                                    "messageHandlers": []
                                  }
                                ],
                                "trigger": {
                                  "id": "946e8dc5-d7c8-5c5d-8ee3-9aaed4a65039",
                                  "name": "Closing time",
                                  "isEvent": true,
                                  "variant": "PointInTimeEvent",
                                  "annotations": [
                                    {
                                      "id": "b0f1cc13-2c6f-5d9b-b496-011cb66661a6",
                                      "name": "Description",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "body": "The listing's closing time.",
                                      "purpose": "shortDescription",
                                      "language": "en",
                                      "markup": "text_plain"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "at": {
                                    "body": "request.closesAt",
                                    "specificationLanguage": "OCL"
                                  }
                                }
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ],
                "serviceContract": "f9bea02f-0747-5292-a5be-92f0f912e9ff",
                "requirementAllocations": [
                  {
                    "id": "245e1789-e5ce-5c54-8dba-c6f20bac633e",
                    "name": "Auction closed at its closing time ← Complete sale",
                    "annotations": [
                      {
                        "id": "68373b16-12ae-5d4e-a3ea-b6badb234ce6",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Complete sale' is the step that discharges 'Auction closed at its closing time'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "8d23b214-e0de-55df-a74e-681fd2366414",
                    "addressedBy": "23902bdc-ae8c-52ba-a8db-53f78dfa240b"
                  },
                  {
                    "id": "2e1683f1-cb43-534c-b2fb-f2e91c8df555",
                    "name": "Item listed ← Record listing",
                    "annotations": [
                      {
                        "id": "39f38e68-1291-5b06-b21c-9f45b82ef7fa",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record listing' is the step that discharges 'Item listed'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "da5a168d-fb60-5d1b-94a5-d9806889ddd2",
                    "addressedBy": "6ec0b2ed-431b-50c9-b5e1-08fe93d8faf3",
                    "refinements": [
                      {
                        "id": "6e5c5072-0627-5a41-a823-a57bb6d9d3b2",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "726cfbf1-a941-5d15-b0d6-a918dd79faec",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record listing' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "6ec0b2ed-431b-50c9-b5e1-08fe93d8faf3",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  },
                  {
                    "id": "b5230077-bc0d-5008-97d4-6ac04446de6b",
                    "name": "May sell ← Record listing",
                    "annotations": [
                      {
                        "id": "d7de447c-df13-5c7f-b5fd-d2f908fe5774",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record listing' is the step that discharges 'May sell'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "71b5d686-d4a4-5738-9e24-8458b19d03e5",
                    "addressedBy": "6ec0b2ed-431b-50c9-b5e1-08fe93d8faf3",
                    "refinements": [
                      {
                        "id": "6eccf544-e675-552f-afea-bc0a36e977e3",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "293a7d38-407a-53f5-ac45-d18473f7a7ef",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record listing' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "6ec0b2ed-431b-50c9-b5e1-08fe93d8faf3",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  }
                ],
                "unplacedActivities": {
                  "id": "ae29f956-87f6-5e74-b300-4b8a55fa3993-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "activities": []
                }
              },
              {
                "id": "d0bd73fa-0f93-5aeb-ac60-b75e6fc64218",
                "name": "Place bid",
                "variant": "Process",
                "annotations": [
                  {
                    "id": "ba9f96c7-a588-508e-8d91-21a2427941e1",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records the bid in the caller's name.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "activities": [
                  {
                    "id": "643c3f5e-157b-5bca-9056-5e3249d076c5",
                    "name": "Record bid",
                    "variant": "RequestService",
                    "annotations": [
                      {
                        "id": "64372e75-9cb1-52e8-a8c8-9136da977339",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Record the bid, in the caller's name.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "service": "4747f9af-1ac9-5c15-a5fc-5c9831e6978c",
                    "requestConstraints": [
                      {
                        "id": "ec6e5f62-73ba-5b79-a33f-22b5b77cdcdf",
                        "name": "amount",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "18dc14c7-c542-57cd-87b0-0d648a4581a8",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'amount' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.amount = request.amount",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "fdb88056-3402-56c8-8a36-5734cc484460",
                        "name": "bidderLogin",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "2046c038-5767-5975-9c85-8da883163d8e",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'bidderLogin' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.bidderLogin = caller",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "b3344579-3289-5736-aa21-782b31782cab",
                        "name": "listingNumber",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "fb29e826-ea75-5fc2-9a0c-debeac4b790d",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'listingNumber' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.listingNumber = request.listingNumber",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "defaultFlow": {
                      "id": "ed6687d9-6691-5482-bd0e-aa43224058dd",
                      "name": "default",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": []
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": []
                  }
                ],
                "serviceContract": "6db0f014-6bc7-57d8-9e7f-7d2c3ee470e3",
                "requirementAllocations": [
                  {
                    "id": "b8654eda-e262-51e2-b148-68fbc58e9620",
                    "name": "Bid acceptable ← Record bid",
                    "annotations": [
                      {
                        "id": "9bfb4b1c-4ddf-5e14-8a43-103771e6eba4",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record bid' is the step that discharges 'Bid acceptable'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "2555b64d-88c3-59f7-9002-cfb7baddbcf2",
                    "addressedBy": "643c3f5e-157b-5bca-9056-5e3249d076c5",
                    "refinements": [
                      {
                        "id": "12f97dca-13a4-53bd-a3c7-1f241dd6c3a8",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "22f2218a-028e-584d-9df3-43b292a296ec",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record bid' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "643c3f5e-157b-5bca-9056-5e3249d076c5",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  },
                  {
                    "id": "28b08a0e-3a62-583e-9680-7189cbb5ded7",
                    "name": "Bid placed ← Record bid",
                    "annotations": [
                      {
                        "id": "252543f1-dbf3-524e-85e3-0ea542408dbc",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record bid' is the step that discharges 'Bid placed'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "2e703367-a2e6-56d9-9824-d92f4d61f25f",
                    "addressedBy": "643c3f5e-157b-5bca-9056-5e3249d076c5",
                    "refinements": [
                      {
                        "id": "c515af24-0cb4-574b-a2e7-024e645bb045",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "4dc945c4-bc6e-52f9-8483-c67492cc88dc",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record bid' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "643c3f5e-157b-5bca-9056-5e3249d076c5",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  }
                ],
                "unplacedActivities": {
                  "id": "d0bd73fa-0f93-5aeb-ac60-b75e6fc64218-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "activities": []
                }
              }
            ],
            "exceptions": []
          },
          {
            "id": "4f6ac301-0053-5ebe-bb80-02caf6d8e88c",
            "name": "Membership",
            "annotations": [
              {
                "id": "ed135982-27f0-532d-a5a1-be6bd0c58c8f",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "Who the members are.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "id": "2599bf31-4eb9-5f70-b4e6-66c9519263ea",
                "name": "Get member",
                "annotations": [
                  {
                    "id": "e4575992-2168-565f-bcf8-eff606781f1d",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Tells another part of the auctioneer what it needs of a member: where to ship to and where to pay.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "4528f720-a7e7-52cb-a685-8a3bf0b53ed4",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A member's name, address and account are personal data, which Membership keeps and no other domain reads from its records: a sale asks for them here.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": true,
                "requestDataStructure": {
                  "id": "e869dec1-c6ea-5e5f-8dd3-b0e361f431ed",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "bd166380-805d-5189-b02d-603108a034ad",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Get member'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "8c48b70d-b696-5ec8-a9d7-c3faec26bb06",
                      "name": "login",
                      "annotations": [
                        {
                          "id": "4070e937-12c7-5cb6-947d-e8bf36081732",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The member, by their login.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "df6c0997-3c97-51c8-a225-2a4d303ae2ca",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "57369703-6c47-54cc-afd1-ed3f81b5d6ca",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Get member' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "2fc88e44-678b-50ec-b7e6-737e11a75557",
                      "name": "name",
                      "annotations": [
                        {
                          "id": "07baff1e-aeb1-5ce6-9a5a-e50180cd4ec2",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Their name.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "ba8ac7ec-ea80-5c42-aa1c-2bdcd9f37a3d",
                      "name": "payoutAccount",
                      "annotations": [
                        {
                          "id": "42a2b6ec-69ac-5212-add8-dbabb1997c84",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The account they are paid into.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0f1b7372-0050-4692-9a39-8599e2707a5f",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "e1866486-4335-5d4e-8a39-8b3b1c6cac5c",
                      "name": "shippingAddress",
                      "annotations": [
                        {
                          "id": "504f09db-881e-5ac1-8f03-d58d26001647",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Where items they buy are shipped.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "1b968293-9a93-5f66-8124-e004e62b622d",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "4cb5480e-cb67-55df-9f4a-cf14317f0ef7",
                    "name": "Member exists",
                    "annotations": [
                      {
                        "id": "31724136-bc33-59fd-a3f6-07a5466288d3",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Only a member is told of.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->exists(m | m.login = request.login)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "4f6ac301-0053-5ebe-bb80-02caf6d8e88c"
                    ],
                    "raisedException": {
                      "id": "872ede5d-31a3-5674-89b4-66f5964fa064",
                      "name": "Member exists not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "736db902-fa6d-53eb-be19-8dd8a3f1ef53",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Get member' is requested while 'Member exists' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "4ec6e4ec-b624-5911-bae7-cdad9883c586",
                    "name": "Member reported",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "84783b20-7538-5140-8357-e1a89379b2ed",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Their name, address and account are answered as recorded.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.name = Member.allInstances()->any(m | m.login = request.login).name and response.shippingAddress = Member.allInstances()->any(m | m.login = request.login).shippingAddress and response.payoutAccount = Member.allInstances()->any(m | m.login = request.login).payoutAccount",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                ]
              },
              {
                "id": "9a2e169d-a1ca-5993-a8ac-4a6c4de91080",
                "name": "Record member",
                "annotations": [
                  {
                    "id": "278edd84-9d77-5933-b07d-c143dadeae05",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records a new member and issues their number.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "f20f3376-1871-537b-b336-c053766568e5",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "fa731f76-8f3d-5df2-bed2-1f3b4f76164a",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Record member'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "3c64605a-11b7-564a-9c2d-3aebf9d4d226",
                      "name": "email",
                      "annotations": [
                        {
                          "id": "a1f374a4-8c0a-5833-91c8-55d64892d316",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Their e-mail address.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "a4bdfef3-4f17-5c4e-8351-17eec3e4e0a8",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "126b5811-920e-5d89-8da5-7d7dbc7bf04a",
                      "name": "login",
                      "annotations": [
                        {
                          "id": "c928dc5d-04ad-549b-9469-76c9b1cdbc28",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The login identity the member will use.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "2c9d963b-a5dd-5ae4-a7b7-ba10f42c9cce",
                      "name": "name",
                      "annotations": [
                        {
                          "id": "b112a7d7-58fb-54cd-b598-418a4f646b5e",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The member's name.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "e3057602-6182-5fe7-b91b-a7b60888539e",
                      "name": "payoutAccount",
                      "annotations": [
                        {
                          "id": "fde853c4-05a0-53d4-bb53-ee55a01bd235",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The account they are paid into when they sell.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0f1b7372-0050-4692-9a39-8599e2707a5f",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "0aa00a5f-51c0-5848-9968-99bf236b5479",
                      "name": "shippingAddress",
                      "annotations": [
                        {
                          "id": "3e59e78e-3381-53c8-8b47-d586a1ab16ad",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Where items they buy are shipped.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "1b968293-9a93-5f66-8124-e004e62b622d",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "5ab76240-c41e-5138-9b6e-0ab37243ef7d",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "472a6030-7772-5c2f-822d-eda16a7eb511",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Record member' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "67679e7b-fb48-5b8d-b5af-5bf6368fb2b1",
                      "name": "memberNumber",
                      "annotations": [
                        {
                          "id": "cbc5173a-df49-509d-b0a8-5e17af262988",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The number issued.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "117306a4-d20a-5fc4-855d-fb61d455762e",
                    "name": "Login not yet registered",
                    "annotations": [
                      {
                        "id": "9546277a-23d5-549b-b80d-299668d9ccbf",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "A login identity belongs to one member.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->forAll(m | m.login <> request.login)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "c5d2011c-a3be-5a94-bf55-a22e503640e8",
                      "name": "Login not yet registered not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "9f018982-23f9-5a7b-995c-8ff915512a27",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record member' is requested while 'Login not yet registered' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "156f2021-bfdc-5111-82ad-a3a51b9d2ed1",
                    "name": "Member number is new",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "cc472469-b0b4-5290-85d3-dc587c49741c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The number issued belonged to no member before.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances@pre()->forAll(m | m.memberNumber <> response.memberNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "4f6ac301-0053-5ebe-bb80-02caf6d8e88c"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "e01fb111-e62c-5482-9448-232b99804bd1",
                    "name": "Member recorded",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "e6c87e1c-d348-57a7-97c8-d7e15aa90ca6",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The member is on record with the details given.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->exists(m | m.memberNumber = response.memberNumber and m.login = request.login and m.name = request.name and m.email = request.email and m.shippingAddress = request.shippingAddress and m.payoutAccount = request.payoutAccount)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "4f6ac301-0053-5ebe-bb80-02caf6d8e88c"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": []
              },
              {
                "id": "1d9aa273-4385-5df8-8f93-255803039562",
                "name": "Register member",
                "annotations": [
                  {
                    "id": "abcbf149-9397-5664-ad54-f840c924f068",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A person becomes a member of the auctioneer.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "17a90432-6310-544a-8bf2-edc20bf1e143",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "b1444583-88dd-5b9f-8a89-df9284642f3c",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Register member'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "52bc254d-676c-5e5d-9372-59b917380984",
                      "name": "email",
                      "annotations": [
                        {
                          "id": "3acc911c-0e64-5a84-b2ea-ed001f875843",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Their e-mail address.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "a4bdfef3-4f17-5c4e-8351-17eec3e4e0a8",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "f443da33-c4d2-548b-96c9-b928088cfcd6",
                      "name": "name",
                      "annotations": [
                        {
                          "id": "a0bb7106-91c0-53f1-8eb9-fb36add1befb",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Their name.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "cf7d375e-7be9-59ab-9e7b-5db0a15291c2",
                      "name": "payoutAccount",
                      "annotations": [
                        {
                          "id": "5ab66a42-e763-5436-93c5-a6026789597c",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The account they are paid into when they sell.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0f1b7372-0050-4692-9a39-8599e2707a5f",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "b6d51fa2-2aa0-5737-b2d7-3b56973cff2d",
                      "name": "shippingAddress",
                      "annotations": [
                        {
                          "id": "60e7e7fc-d412-5669-bd1a-5b5cd74c000e",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Where items they buy are shipped.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "1b968293-9a93-5f66-8124-e004e62b622d",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "adfeb4ab-8219-5433-9b6b-db60cfb0b43c",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "77d829a3-da92-53c8-8522-098b3a693c0f",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Register member' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "b32b200c-6dd0-5807-8e32-7a361d023444",
                      "name": "memberNumber",
                      "annotations": [
                        {
                          "id": "02bcf734-62d7-5dbf-aeed-1c4d7e3eb503",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The member number issued.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "d5eb2535-7a11-5d2a-9df5-d6e955a94a10",
                    "name": "May register",
                    "annotations": [
                      {
                        "id": "dfa55956-ef04-58c3-82db-5ff399c8edfc",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The person asking is not a member yet.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "1b23f68b-dc87-56c6-95f8-02318ee4b704",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record member* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "7b5bfcca-af57-5580-b4ab-19306de86423",
                      "name": "May register not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "259a8bd3-1ed7-5664-83a0-18687bd8508b",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Register member' is requested while 'May register' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "9a6c1a57-3890-516c-a1f9-fd73674b455e",
                    "name": "Member registered",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "124ea61b-6b47-524b-ad30-2db463c30de5",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The person is a member, under the login they asked with.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "f6c128d5-30b1-5a6e-a875-2e94ee16c0bb",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record member* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                ]
              }
            ],
            "dataTypes": [
              {
                "id": "16bbe8be-208b-58e0-bacf-4fb18dacc380",
                "name": "MemberRecord",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "6feb60dc-ded5-5f97-89cc-59f4f3e6582d",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The auctioneer's record of one member.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "4f2c86a3-2e4c-55ef-b6e9-3404339ecb2f",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A **facet** of the `Member` entity.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [
                  {
                    "id": "4eae6246-a236-53cd-9a75-dceb5f17af39",
                    "name": "Member number format",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.memberNumber.matches('MB-[0-9]{4,}')",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  }
                ],
                "abstract": false,
                "fields": [
                  {
                    "id": "bc65411e-7714-5b9f-a3b0-2d8c57641ad6",
                    "name": "email",
                    "annotations": [
                      {
                        "id": "d18041f5-51f8-5b7b-9c2c-9eede6b80ec1",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Where the member is written to.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "a4bdfef3-4f17-5c4e-8351-17eec3e4e0a8",
                    "relationship": "composition",
                    "multiplicity": "1",
                    "personalData": "standard"
                  },
                  {
                    "id": "a53cca18-4fc7-5672-bbf6-6d21d184e851",
                    "name": "login",
                    "annotations": [
                      {
                        "id": "6374aa0e-4f82-5798-b273-8db537114db6",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The login identity the member signs in with: what `caller` and `respondent` are compared with.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "df3cf0a7-288f-5870-9c5f-a2083615d4c1",
                    "name": "memberNumber",
                    "annotations": [
                      {
                        "id": "6a23a71f-aad0-52f9-b59c-77f447cd9773",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The member's number.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "406aa231-c67f-5735-89f1-3b9ada05771e",
                    "name": "name",
                    "annotations": [
                      {
                        "id": "dc171327-f739-553e-af1d-f955369617ce",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The member's name.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "1",
                    "personalData": "standard"
                  },
                  {
                    "id": "4f4392f8-0608-557c-8adb-81c444f16367",
                    "name": "payoutAccount",
                    "annotations": [
                      {
                        "id": "8bb60c7a-517c-50de-bf9a-bd62b5125f1a",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The account the member is paid into when they sell.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "0f1b7372-0050-4692-9a39-8599e2707a5f",
                    "relationship": "composition",
                    "multiplicity": "1",
                    "personalData": "standard"
                  },
                  {
                    "id": "39183f85-360b-58f0-b536-c94fc8dc2cc3",
                    "name": "shippingAddress",
                    "annotations": [
                      {
                        "id": "3dadaf39-b900-5666-8b51-7367fc3ae9c8",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Where items bought are shipped.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "1b968293-9a93-5f66-8124-e004e62b622d",
                    "relationship": "composition",
                    "multiplicity": "1",
                    "personalData": "standard"
                  }
                ]
              }
            ],
            "entities": [
              {
                "id": "2f971be5-23cc-5294-83d1-f0442a57cc18",
                "name": "Member",
                "annotations": [
                  {
                    "id": "c6cebc36-219d-59d0-a2d9-be554e582900",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A person registered to buy and sell.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "readableBy": [
                  "3d16b367-bade-56ee-a7ec-edd6f7a487b3",
                  "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                ],
                "facetBindings": [
                  {
                    "id": "1c19e114-cac9-5e8b-8dad-efd4bca616cc",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "structure": "16bbe8be-208b-58e0-bacf-4fb18dacc380",
                    "fieldRoles": [
                      {
                        "id": "64816cbe-db20-54e3-8947-243ca2efd62b",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "4f4392f8-0608-557c-8adb-81c444f16367",
                        "role": "states"
                      },
                      {
                        "id": "7b089c97-06f0-54b2-bd71-58c154407744",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "406aa231-c67f-5735-89f1-3b9ada05771e",
                        "role": "states"
                      },
                      {
                        "id": "3c2c4171-96f1-5b65-9e61-c32eac8bc9a3",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "39183f85-360b-58f0-b536-c94fc8dc2cc3",
                        "role": "states"
                      },
                      {
                        "id": "b98f5554-b48d-5b2d-9bf8-78513ff8522b",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "a53cca18-4fc7-5672-bbf6-6d21d184e851",
                        "role": "states",
                        "unique": true
                      },
                      {
                        "id": "1a8c6e5f-6f13-5430-8914-1a56ff4fd7d9",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "bc65411e-7714-5b9f-a3b0-2d8c57641ad6",
                        "role": "states"
                      },
                      {
                        "id": "6d8b8ec5-0dbb-559e-b416-b08b788a38bb",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "df3cf0a7-288f-5870-9c5f-a2083615d4c1",
                        "role": "identifies"
                      }
                    ]
                  }
                ]
              }
            ],
            "processes": [
              {
                "id": "4160a0a7-c4a6-555c-89b1-376abc4023be",
                "name": "Register member",
                "variant": "Process",
                "annotations": [
                  {
                    "id": "218528d0-8ebd-5585-b1d9-ac9b39515a58",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records the person as a member under the login they asked with.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "activities": [
                  {
                    "id": "8fbca028-cedc-57f7-ac62-61b16c86ce3e",
                    "name": "Record member",
                    "variant": "RequestService",
                    "annotations": [
                      {
                        "id": "42f16d10-0d47-59e0-be88-a508e6df0075",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Put the member on record, under the caller's login.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "service": "9a2e169d-a1ca-5993-a8ac-4a6c4de91080",
                    "requestConstraints": [
                      {
                        "id": "05910ee4-f911-5f5d-89bb-9b7e9eb49b40",
                        "name": "email",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "b20447bc-9da5-526a-b38f-4c0ae5f8fa6e",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'email' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.email = request.email",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "a8583e8a-8b86-5a80-93c2-88a6ebcf13d6",
                        "name": "login",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "467f4447-57d6-5b8f-8267-ca56706585c2",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'login' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.login = caller",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "a54e672a-f695-53f8-a6c9-671f1f2f263f",
                        "name": "name",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "2c3279a4-e4b2-5b37-9ab9-85d938ca0886",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'name' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.name = request.name",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "489dfdcd-91db-5b71-9166-41a68dfeb56d",
                        "name": "payoutAccount",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "19c07758-c38e-566e-9379-f36c153490f3",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'payoutAccount' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.payoutAccount = request.payoutAccount",
                          "specificationLanguage": "OCL"
                        }
                      },
                      {
                        "id": "a204f54c-d556-5bef-a282-2ab42e42b590",
                        "name": "shippingAddress",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "5280b968-c803-52b6-bd23-df2ef7459e78",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'shippingAddress' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.shippingAddress = request.shippingAddress",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "responseVariable": {
                      "id": "88f0fa59-a933-5fe1-97b0-970b0123c107",
                      "name": "recorded",
                      "annotations": [
                        {
                          "id": "920f9f07-200c-5f47-a569-d209f86e7b30",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The member as recorded.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "5ab76240-c41e-5138-9b6e-0ab37243ef7d",
                      "multiplicity": "1"
                    },
                    "defaultFlow": {
                      "id": "e0dbcf05-4c99-5389-9a9d-314e37076821",
                      "name": "default",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": []
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": []
                  },
                  {
                    "id": "c61b3ce2-db27-5c73-ab99-52de496328d2",
                    "name": "Report the member number",
                    "variant": "PopulateResponse",
                    "annotations": [
                      {
                        "id": "c25a8809-97fc-5817-9080-fc883ca54465",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Answer with the number issued.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "responseConstraints": [
                      {
                        "id": "5cb05bc1-b389-56df-9a1f-c81dda895c34",
                        "name": "memberNumber",
                        "variant": "ResponseConstraint",
                        "annotations": [
                          {
                            "id": "b957d2a9-d773-5158-8b71-1f6b3b826c5f",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How the response's memberNumber is populated.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "response.memberNumber = recorded.memberNumber",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ]
                  }
                ],
                "serviceContract": "1d9aa273-4385-5df8-8f93-255803039562",
                "requirementAllocations": [
                  {
                    "id": "cb30068c-e1c3-5a60-bd6d-a19cc73c96b3",
                    "name": "May register ← Record member",
                    "annotations": [
                      {
                        "id": "fc9d5d82-e30c-56f2-84c0-6a8c51a06a6a",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record member' is the step that discharges 'May register'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "d5eb2535-7a11-5d2a-9df5-d6e955a94a10",
                    "addressedBy": "8fbca028-cedc-57f7-ac62-61b16c86ce3e",
                    "refinements": [
                      {
                        "id": "b4f6710e-24f2-51d6-9170-6852a119b260",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "2aa87702-7799-52d9-a6f2-f1b143a4a9d5",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record member' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "8fbca028-cedc-57f7-ac62-61b16c86ce3e",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  },
                  {
                    "id": "c3b45576-49a4-5984-8e7b-61199d81cae0",
                    "name": "Member registered ← Record member",
                    "annotations": [
                      {
                        "id": "af6bb7ed-3517-5f62-badb-344ac0b8ec8e",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record member' is the step that discharges 'Member registered'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "9a6c1a57-3890-516c-a1f9-fd73674b455e",
                    "addressedBy": "8fbca028-cedc-57f7-ac62-61b16c86ce3e",
                    "refinements": [
                      {
                        "id": "a98d793b-022a-55a1-bc0c-b9f9125d8a9c",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "06a803d0-b9fa-5c0e-8ce6-69c79f4022ab",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record member' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "8fbca028-cedc-57f7-ac62-61b16c86ce3e",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  }
                ],
                "unplacedActivities": {
                  "id": "4160a0a7-c4a6-555c-89b1-376abc4023be-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "activities": []
                }
              }
            ],
            "exceptions": []
          },
          {
            "id": "9bcebf76-f2d5-5e93-8c32-a1706e80d8ed",
            "name": "Platform",
            "annotations": [
              {
                "id": "cbb4fd4e-6029-5b51-ab3f-dcdc3df63e25",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "The platform's terms, the service fee among them.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "id": "fb2ed1bb-2087-5587-afae-c851bc891ec3",
                "name": "Get service fee",
                "annotations": [
                  {
                    "id": "3acccad0-050d-534e-bf10-6c4e79a35589",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Tells the rate the platform charges now.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": true,
                "requestDataStructure": {
                  "id": "2cf051b0-d46a-5af2-9b98-cf70a6da14a0",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "d2b90b8a-43aa-5077-b406-54f5d1c5ec6a",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Get service fee'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "responseDataStructure": {
                  "id": "546d0046-f87a-5fcc-b284-179e34244a1c",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "80a3b613-6718-5394-9d95-e05c46d23bfb",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Get service fee' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "ef93f484-f153-54ea-b668-9d3866337b89",
                      "name": "serviceFeeRate",
                      "annotations": [
                        {
                          "id": "65c06d94-0a8c-5362-8575-47b79d16eb91",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The rate, in per cent.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "baa6bbf9-c41d-5b90-a098-c2801025c04e",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "e3a1e67c-b307-51d9-b1f7-bf93d9ccee97",
                    "name": "Current rate reported",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "069ee08d-3422-56b8-8fc1-ca51aad63542",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The rate on record is answered, or none where none was ever set.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "bb8ce714-a265-5440-8ddf-cfa919b8fb6f",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "*Record service fee* keeps at most one set of terms, so the sum over them is its rate, and 0 before any was set.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.serviceFeeRate = PlatformPolicy.allInstances()->collect(p | p.serviceFeeRate)->sum()",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                ]
              },
              {
                "id": "bea91250-92f9-5dd7-8d8e-87414deead9d",
                "name": "Record service fee",
                "annotations": [
                  {
                    "id": "b4caddbb-3d6f-5414-bb64-4a8f72289edc",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records the service fee the platform charges.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "36e7197c-dbd1-58b6-8a08-ac489b28584e",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "424d4eed-48c8-5831-9b14-51668653f9b2",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Record service fee'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [
                    {
                      "id": "fd3d3180-d76d-5875-91e7-b40cc1ffd211",
                      "name": "Fee rate within bounds",
                      "isInvariance": true,
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "formalSpecification": {
                        "body": "self.serviceFeeRate >= 0 and self.serviceFeeRate <= 50",
                        "specificationLanguage": "OCL"
                      },
                      "requiredBy": []
                    }
                  ],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "a3b65d25-1367-515f-aba9-7ce95d0ce7d0",
                      "name": "serviceFeeRate",
                      "annotations": [
                        {
                          "id": "deaf3d30-a0c9-54db-8e73-2d0ec4dcf131",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The new rate, in per cent.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "baa6bbf9-c41d-5b90-a098-c2801025c04e",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "14b6fc68-b607-56bf-b463-a82c91b0c54e",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "b247e384-d9b5-5d3d-8f73-c1155d44eef5",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Record service fee' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "preConditions": [],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "c341c507-2565-5d05-a20b-38e0434d73ea",
                    "name": "Service fee recorded",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "33bbf652-f42d-51e8-8870-f943beddf897",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The platform's one set of terms carries the new rate.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "PlatformPolicy.allInstances()->size() = 1 and PlatformPolicy.allInstances()->forAll(p | p.policyName = 'service fee' and p.serviceFeeRate = request.serviceFeeRate)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "9bcebf76-f2d5-5e93-8c32-a1706e80d8ed"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "appliesToCurrentState": "A new rate is meant to win: it replaces whatever rate is stored."
              },
              {
                "id": "3e2e604a-bab4-586f-9c69-721cdb4e595e",
                "name": "Set service fee",
                "annotations": [
                  {
                    "id": "a494d912-fe93-56f4-9719-30858e623057",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "An administrator sets the platform's service fee.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "5470cb72-6d35-561b-808e-d5ca38dacb97",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "6796a458-da0a-55c8-ad7a-dec0255b16cf",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Set service fee'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [
                    {
                      "id": "3a2e1b6a-dd01-56f7-aa53-9021d764eedc",
                      "name": "Fee rate within bounds",
                      "isInvariance": true,
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "formalSpecification": {
                        "body": "self.serviceFeeRate >= 0 and self.serviceFeeRate <= 50",
                        "specificationLanguage": "OCL"
                      },
                      "requiredBy": []
                    }
                  ],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "34291b8c-f9a1-5ae0-8d5f-5fb04ecf6e70",
                      "name": "serviceFeeRate",
                      "annotations": [
                        {
                          "id": "5ea4cb7d-a4d8-5c99-8a7e-048d74841c4b",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The new rate, in per cent.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "baa6bbf9-c41d-5b90-a098-c2801025c04e",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "b8ef5645-282c-5947-a663-e1679fc75647",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "bf701462-6185-555d-8923-e4de0358e6d5",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Set service fee' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "preConditions": [],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "c01488eb-6a8f-5fbb-a57f-0006c8cdca3a",
                    "name": "Service fee set",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "5497e7d9-a7a6-5840-aac2-c77182b4e6cd",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Sales completed from now on are charged the new rate.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "1de0d3e3-c8cd-5bfe-9be9-b0dc3503fda5",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record service fee* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "7a2362b6-82c8-5f3f-8139-2df9c268eaae"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [
                  "7a2362b6-82c8-5f3f-8139-2df9c268eaae"
                ]
              }
            ],
            "dataTypes": [
              {
                "id": "7323dfb2-feed-5b60-bb06-78d1fe958d40",
                "name": "PlatformTerms",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "e2800dd6-0454-5a7b-9bc1-870967e926fe",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The terms the platform trades on.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "4c49c13c-1e00-522a-be66-4106d4e0c0ce",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A **facet** of the `PlatformPolicy` entity.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [
                  {
                    "id": "986995d1-7f8d-5b05-aa52-c1bc48246b37",
                    "name": "Fee rate is a share",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.serviceFeeRate >= 0 and self.serviceFeeRate <= 100",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  }
                ],
                "abstract": false,
                "fields": [
                  {
                    "id": "5c80b7fd-ea26-54cf-b628-b6446268c14f",
                    "name": "policyName",
                    "annotations": [
                      {
                        "id": "3009b151-761f-55de-a115-12824004851d",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Which terms these are. There is one record, `service fee`.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "68a89555-67fc-5832-be6c-49c6df7fe31e",
                    "name": "serviceFeeRate",
                    "annotations": [
                      {
                        "id": "a555b080-3eb3-5ed4-bc0b-db0d9b8517c3",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The share of the price the auctioneer keeps, in per cent.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "baa6bbf9-c41d-5b90-a098-c2801025c04e",
                    "relationship": "composition",
                    "multiplicity": "1"
                  }
                ]
              }
            ],
            "entities": [
              {
                "id": "84f3b477-1a6e-5575-9878-35b3b6883ca8",
                "name": "PlatformPolicy",
                "annotations": [
                  {
                    "id": "186e43e0-293b-5f40-97dd-6c6537ecb182",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The platform's terms, as one record.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "readableBy": [
                  "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                ],
                "facetBindings": [
                  {
                    "id": "c11e1f43-1095-5fd7-916d-4e27c66b8e83",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "structure": "7323dfb2-feed-5b60-bb06-78d1fe958d40",
                    "fieldRoles": [
                      {
                        "id": "12e893cd-67d8-54ae-bb45-f4184014c794",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "5c80b7fd-ea26-54cf-b628-b6446268c14f",
                        "role": "identifies"
                      },
                      {
                        "id": "904c25a2-e70d-57a4-938b-2cf24bb09a19",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "68a89555-67fc-5832-be6c-49c6df7fe31e",
                        "role": "states"
                      }
                    ]
                  }
                ]
              }
            ],
            "processes": [
              {
                "id": "68b04cf0-6847-58d6-b3fb-e6d4237ec42c",
                "name": "Set service fee",
                "variant": "Process",
                "annotations": [
                  {
                    "id": "0f64bef0-26db-5551-9108-3d0866657c6e",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records the rate the administrator gave.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "activities": [
                  {
                    "id": "e839b48a-5e9d-5bc7-b89b-6788335ef408",
                    "name": "Record service fee",
                    "variant": "RequestService",
                    "annotations": [
                      {
                        "id": "4978f18d-704a-5b5e-9c3f-b6a689b5d1e1",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Record the new rate.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "service": "bea91250-92f9-5dd7-8d8e-87414deead9d",
                    "requestConstraints": [
                      {
                        "id": "271da881-b9dc-51fc-babd-c2a2928e63e7",
                        "name": "serviceFeeRate",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "d983cb9e-aae2-5561-a7ee-c643cd35d3f9",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'serviceFeeRate' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.serviceFeeRate = request.serviceFeeRate",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "defaultFlow": {
                      "id": "69d0ef22-5484-5064-a7db-d195fc180e71",
                      "name": "default",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": []
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": []
                  }
                ],
                "serviceContract": "3e2e604a-bab4-586f-9c69-721cdb4e595e",
                "requirementAllocations": [
                  {
                    "id": "8c2b2c18-72e0-54f6-bace-cb9ad6b6d273",
                    "name": "Service fee set ← Record service fee",
                    "annotations": [
                      {
                        "id": "53cf1c88-ec0e-5be7-a76c-4eb53ec9c4ce",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record service fee' is the step that discharges 'Service fee set'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "c01488eb-6a8f-5fbb-a57f-0006c8cdca3a",
                    "addressedBy": "e839b48a-5e9d-5bc7-b89b-6788335ef408",
                    "refinements": [
                      {
                        "id": "ffb504b1-0684-587a-9f9a-1f9a785a066e",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "fc60e261-f405-5bee-bb3a-95b68cb4a182",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record service fee' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "e839b48a-5e9d-5bc7-b89b-6788335ef408",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  }
                ],
                "unplacedActivities": {
                  "id": "68b04cf0-6847-58d6-b3fb-e6d4237ec42c-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "activities": []
                }
              }
            ],
            "exceptions": []
          },
          {
            "id": "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8",
            "name": "Sales",
            "annotations": [
              {
                "id": "c79e6575-9583-5a13-b0ac-e39f67f3f791",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "Completing a sale: payment, payout, shipping and feedback.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "responsibilityDomains": [],
            "serviceContracts": [
              {
                "id": "6cb1da5c-21c0-5511-ba94-c47ea33811d1",
                "name": "Collect payment",
                "annotations": [
                  {
                    "id": "169fdf66-4b5a-5075-ac67-52fbeb639cc9",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Has the buyer pay for what they won, by the payment deadline.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "414a232d-b4a2-54a1-8720-7c04d7116e68",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "7e308a03-ae09-5843-a979-e95bf83b3125",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Collect payment'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "4d689394-7c0d-518f-a282-659e9c3d2bb0",
                      "name": "amountDue",
                      "annotations": [
                        {
                          "id": "e2777a97-3932-5598-918e-b7a20cbd6d41",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "98bc1ca8-e083-5d98-87a6-f8c5764ef348",
                      "name": "buyerLogin",
                      "annotations": [
                        {
                          "id": "1e17d431-2b1d-5cf8-97a4-3d89b801b7b1",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The buyer, by their login.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "7a351aad-c768-567d-92c2-12b07e023a4b",
                      "name": "saleNumber",
                      "annotations": [
                        {
                          "id": "7bd13482-393b-5192-a045-c88cd1a753fc",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The sale.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "256bb767-1461-5727-82b1-1269e1032414",
                      "name": "title",
                      "annotations": [
                        {
                          "id": "233205d2-1803-5275-8d5f-92b8a95856aa",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The item bought.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "67962eb6-72cb-5532-8b9e-c8f864305a18",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "f0ee8a72-499d-5132-9897-6a7cd1b685ed",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Collect payment' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "ae2ad62d-1397-545a-a183-a878ee920484",
                      "name": "paymentReference",
                      "annotations": [
                        {
                          "id": "c81d315f-a343-50df-b2ef-848ba37c74bf",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The payment taken, where it was.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "03bb2c9a-2511-5e19-97e6-a2426db72d05",
                    "name": "Sale on record",
                    "annotations": [
                      {
                        "id": "e25739f9-7c81-5c9c-8d07-7a54852617a9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Payment is collected only for a sale on record.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Sale.allInstances()->exists(s | s.saleNumber = request.saleNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "raisedException": {
                      "id": "a8f779b9-fdbb-509b-82db-726859675415",
                      "name": "Sale on record not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "30bd2350-f811-5027-8f54-ec365a83da32",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Collect payment' is requested while 'Sale on record' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "5f69e860-8ced-5abb-8ad4-a3ee07ecab2e",
                    "name": "Not paid",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "8716a655-034d-5044-94e4-74ecf8498bd8",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The sale is marked overdue or failed, and nothing was charged.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "40974513-f2d6-54a1-b2e9-ab57b49cd4d1",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose. Where no reference is answered, the buyer missed the payment deadline or the gateway refused the payment, and the sale says which.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "condition": {
                      "body": "response.paymentReference->isEmpty()",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": []
                  },
                  {
                    "id": "d6734c29-2018-57ea-882f-950c0c96bdf3",
                    "name": "Paid",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "b3202678-9916-54e8-b80e-c39519099001",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer was charged the amount due, and the sale is marked paid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "2a345e64-3046-5f43-a150-fb97b2f42dfc",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose. Where a payment reference is answered, the payment gateway charged the buyer the amount due under it, and the sale records it.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "condition": {
                      "body": "response.paymentReference->notEmpty()",
                      "specificationLanguage": "OCL"
                    },
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": []
              },
              {
                "id": "ca8dc62d-a774-53bb-b5e5-3102c4a7615a",
                "name": "Complete sale",
                "annotations": [
                  {
                    "id": "58f9225d-f4a0-52f0-bf4f-9e2cc100b747",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Closes a listing and takes its sale, if any, from payment to the buyer's feedback.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "e8ce4e43-6a7b-5669-8f7a-9d871fe4c89b",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "6a934aea-de63-5c7e-9922-50b168c345a6",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Complete sale'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "c817a82f-ba74-5316-84f9-66ff999cc0f2",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "0c1ebba4-09f3-54cc-8851-227561a78ed4",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing whose auction has closed.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "cf5cb380-422f-5884-bf36-cfe2e94f1b7f",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "38af29b8-0fc7-5dc3-8c86-de76e5ad4f3f",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Complete sale' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "b6abd073-2034-5823-a89a-a3a6a0beff56",
                      "name": "saleNumber",
                      "annotations": [
                        {
                          "id": "b5274fb7-9972-5636-ad00-c9e994c89e68",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The sale made, where there was a bid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "0ab05781-8868-59a4-a88b-ab3dc2d366e6",
                    "name": "Highest bidder can buy",
                    "annotations": [
                      {
                        "id": "92c56f7e-1e9b-50b9-9627-c576b82609df",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The listing is unsold, and its highest bidder still a member.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "b3a0572d-270a-590d-a722-729ac9179f9f",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Record sale* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "bb5ac1f0-abcf-50d3-93e5-877affa0a33c",
                      "name": "Highest bidder can buy not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "a7f8d9f9-c318-54e2-b3be-58223726985a",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Complete sale' is requested while 'Highest bidder can buy' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "3087d876-64d3-5b7f-b4ba-e499f7efbedd",
                    "name": "Listing ready to close",
                    "annotations": [
                      {
                        "id": "e59c021a-56ba-5880-bfcf-7965f4cf84bd",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The listing is open and its closing time has come.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "16a7d629-27dc-5adf-9b17-7aa005b9bfbc",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Close listing* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "78717055-909d-5372-aa03-792af12515c6",
                      "name": "Listing ready to close not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "67c7fc32-1675-5af2-9825-b1cdf6c8c3ac",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Complete sale' is requested while 'Listing ready to close' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "ee2c5d98-e824-58fe-b32e-204d594fbe7a",
                    "name": "Auction closed",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "cf3358a0-0e82-503b-92f6-03dba44a623c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The listing takes no more bids, and its highest bid is known.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "986da49e-38c1-5670-868e-d494d2c12f3d",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose: *Close listing* states it formally, and the refinement says so.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "3d16b367-bade-56ee-a7ec-edd6f7a487b3"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "3e7ed1d1-78fd-513d-9187-950d0997dac0",
                    "name": "Buyer kept informed",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "412f9d02-ac2f-5903-80f1-9a129f4dd8a6",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer is sent a receipt, and the tracking details once shipped.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": [
                      {
                        "id": "8c7a3350-ad30-5e13-a5cc-cc104ede8c0a",
                        "name": "Receipt sent",
                        "isEvent": true,
                        "variant": "MessageSendEvent",
                        "annotations": [
                          {
                            "id": "9b6c6cc8-2c11-55cf-aa26-928a0239eb94",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "The buyer is sent a receipt once they have paid.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "dataStructure": "0160e509-55f7-5e43-ad80-19d6a9bb8685",
                        "distribution": "notification",
                        "recipient": "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                      },
                      {
                        "id": "8bce1fbb-486a-59f9-b302-118b35d08814",
                        "name": "Tracking details sent",
                        "isEvent": true,
                        "variant": "MessageSendEvent",
                        "annotations": [
                          {
                            "id": "976ba922-72a7-53e9-8c8e-8118ee42eb06",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "The buyer is told how to follow the consignment.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "dataStructure": "5ecc6df5-50bd-57fd-84e3-46a5db6dd1f6",
                        "distribution": "notification",
                        "recipient": "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                      }
                    ]
                  },
                  {
                    "id": "36156374-9b86-5ab0-839b-222918bb1fc9",
                    "name": "Paid and paid out",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "cfe390e8-ebcc-55a4-a7de-4a949ab0c831",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Where the buyer pays in time, the seller is paid the price and shipping less the fee.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "275d950d-8a5a-5825-811d-bc14fa79bfb4",
                    "name": "Sale completed",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "768d61c8-fdda-5b78-923e-2a5ec5ffe0be",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Once the buyer confirms receipt, or two weeks pass, the sale is complete, with the buyer's rating where they gave one.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "a3cc652f-533a-5299-9504-4c00c8716e16",
                    "name": "Sold to the highest bidder",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "df2146d4-ba00-518a-a996-28f63b3f6c10",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Where anyone bid, the highest bidder buys at their bid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      },
                      {
                        "id": "0ff57c6c-b508-552d-b626-666262cea899",
                        "name": "Details",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "In prose. *Record sale* states it formally, on the branch where anyone bid. It is not refined by it: which branch is taken is read from *Close listing*'s answer, which no condition of *Complete sale* can name, so the tool could not see the sale made wherever the condition holds.",
                        "purpose": "detailedDescription",
                        "language": "en",
                        "markup": "text_markdown"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "requiredBy": [
                      "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": []
              },
              {
                "id": "2572ba7d-a043-5fb3-9683-92b1cc6ab4ee",
                "name": "Compute settlement",
                "annotations": [
                  {
                    "id": "4398e832-e038-577d-9914-df1e606a3f1b",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Works out the fee, what the buyer pays and what the seller is paid.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": true,
                "requestDataStructure": {
                  "id": "3d903a65-7854-56b4-bf2d-1a6ac14b7351",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "72a37e43-c9ea-52cd-b72a-1f1d6b1d5c87",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Compute settlement'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "188de424-17a8-53f3-aaa3-a3e98d71714f",
                      "name": "price",
                      "annotations": [
                        {
                          "id": "ae9af032-c5bb-559f-bd29-50df0990965c",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The winning bid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "4217c990-1085-5cad-ad4c-5d0c0a2be05d",
                      "name": "serviceFeeRate",
                      "annotations": [
                        {
                          "id": "de059205-eb1c-5f24-8a32-05f524ad34e6",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The rate charged, in per cent.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "baa6bbf9-c41d-5b90-a098-c2801025c04e",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "e21e6c8a-0318-5327-b471-7b94d1c9ba15",
                      "name": "shippingCost",
                      "annotations": [
                        {
                          "id": "0a9c09c6-0c3e-50a5-94ee-a983d7272cc9",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays for shipping.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "56cf79b5-c967-5751-8a0b-9ab9aad835e0",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "e002d97a-7e2f-5aa7-be0d-b1f627c43a57",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Compute settlement' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "7916061e-7448-56b7-aebe-3c3b9cdf565f",
                      "name": "amountDue",
                      "annotations": [
                        {
                          "id": "c361ed5d-3f89-549a-a9a9-029ab31b6eaa",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "cfa601ae-d600-57c2-9e8f-2752db6edee1",
                      "name": "fee",
                      "annotations": [
                        {
                          "id": "2d536bf6-8f25-57df-8fb0-3ac65e11b1f6",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the auctioneer keeps.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "3af1f1a0-d55f-5c98-808b-a5be931b82f4",
                      "name": "sellerPayout",
                      "annotations": [
                        {
                          "id": "0852ed1e-a7d0-5d74-a963-02fc2e8c60f9",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the seller is paid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "5509f810-abbf-502f-8289-ef054fcccff5",
                    "name": "Buyer pays price and shipping",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "e350f282-5166-5003-8a5f-9aff9a6b383c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer pays the price and the shipping cost.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.amountDue.amount = request.price.amount + request.shippingCost.amount and response.amountDue.currency = request.price.currency",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "04ab8814-219e-5d1f-9cf5-fa386a536d18",
                    "name": "Fee at the rate",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "5b7c1bda-4f90-5f67-b33d-170da7d9b624",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The fee is the rate's share of the price, to the cent.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.fee.amount = (request.price.amount * request.serviceFeeRate).divideHalfUp(100, 2) and response.fee.currency = request.price.currency",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "1649c94f-3df8-5e39-94d8-2578b039aa47",
                    "name": "Seller paid the rest",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "dbcdc7c6-577d-5af9-8631-37f2866c6871",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The seller is paid what the buyer pays, less the fee.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "response.sellerPayout.amount = response.amountDue.amount - response.fee.amount and response.sellerPayout.currency = request.price.currency",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": []
              },
              {
                "id": "cd790fa4-150f-5630-be7e-a39dfd0f47a5",
                "name": "Record sale",
                "annotations": [
                  {
                    "id": "44d7468e-2d98-52b4-8e9a-d1bd89da967b",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records the sale of a closed listing to its highest bidder.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "bd1596c4-3f94-5154-9a5c-7af93e3dc9d8",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "1740da38-7f90-558e-ac98-5d48b165d438",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Record sale'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "018a5aa8-723d-5ea8-bd76-213f448f5747",
                      "name": "amountDue",
                      "annotations": [
                        {
                          "id": "3b5b4064-6330-5348-895a-6855a9cfa3c2",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the buyer pays.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "b51b13d7-7fdc-5555-8097-f8dde10087d6",
                      "name": "buyerLogin",
                      "annotations": [
                        {
                          "id": "2e4cbca5-3d36-5585-8e4d-1cd1b5aefc0e",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The highest bidder, by their login.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "5c5ce3ff-a9d2-5d20-8bc4-ced9539c6646",
                      "name": "fee",
                      "annotations": [
                        {
                          "id": "257ff13e-5ade-5e2b-8daa-4c652e19787c",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the auctioneer keeps.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "3ae313f1-e208-583f-8b20-6a38915ff862",
                      "name": "listingNumber",
                      "annotations": [
                        {
                          "id": "256b0ce2-b071-5c74-95f3-6bafa3c494f6",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing sold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "c243f6da-56ab-5f39-a67a-368b855d921c",
                      "name": "price",
                      "annotations": [
                        {
                          "id": "9d3917bc-c229-5f47-b38e-25677caf7f2b",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The winning bid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "a27ab283-dedc-5a41-b25a-6e23fa56a0fb",
                      "name": "sellerPayout",
                      "annotations": [
                        {
                          "id": "9aea2a90-358f-5fd8-aa87-c53dc70541c8",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "What the seller is paid.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "fe5a4e02-0296-57d7-8e76-f47728e2a000",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "af64c14f-9042-5535-b8f9-2d1dbd5f5da5",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Record sale' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "007c2e77-4b9e-51d9-a1ac-d40dfec90f10",
                      "name": "saleNumber",
                      "annotations": [
                        {
                          "id": "37e8852a-2077-5716-b76f-4ac12a791bf5",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The number issued.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "preConditions": [
                  {
                    "id": "43c15f3c-0622-59a9-9dbc-90103f8aa00f",
                    "name": "Buyer is a member",
                    "annotations": [
                      {
                        "id": "eb67c296-8473-50b6-a8fe-e60d19e8a7b6",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Only a member buys.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->exists(m | m.login = request.buyerLogin)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "2382e95b-b5f1-5bdb-b233-96062f516df5",
                      "name": "Buyer is a member not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "75f30a9b-58df-59ce-8055-561c89652dbf",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record sale' is requested while 'Buyer is a member' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "3a1a50a4-df97-5ae2-ab60-590b38e4fb58",
                    "name": "Listing closed",
                    "annotations": [
                      {
                        "id": "af2c6c06-6b86-504a-a494-a41b5d1e6da1",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Only a closed listing is sold.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Listing.allInstances()->exists(l | l.listingNumber = request.listingNumber and l.status = ListingStatus::closed)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "a28c7aaf-7e9e-56a1-b9f7-82315521d0d3",
                      "name": "Listing closed not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "99b0daa5-bcc0-5da1-b7e0-43d4e4af8e86",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record sale' is requested while 'Listing closed' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  },
                  {
                    "id": "73f8847e-e65c-5ad9-ab01-7eda96331ae8",
                    "name": "Listing not yet sold",
                    "annotations": [
                      {
                        "id": "5c0767c9-2358-5046-913d-fa81b8722496",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "A listing is sold once.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Sale.allInstances()->forAll(s | s.listing.listingNumber <> request.listingNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "d1301897-a01a-5597-8906-ce80df5e57b2"
                    ],
                    "raisedException": {
                      "id": "caf3131b-46aa-5763-8276-61fbf16d8ef3",
                      "name": "Listing not yet sold not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "26485b16-c833-58f5-9992-7807addf40dd",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Record sale' is requested while 'Listing not yet sold' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "61f37655-ccb8-5daf-a873-9dad2f8550de",
                    "name": "Buyer still a member",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "b50bcf3f-b41e-5d21-b82f-48654bb4f0d3",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer the sale is recorded for is a member, so a sale can ask Membership about them.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Member.allInstances()->collect(m | m.login)->includes(request.buyerLogin)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "13696157-d8aa-505b-8071-627b4732e746",
                    "name": "Sale number is new",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "4efa9e81-db39-5ea8-8390-526f110152a9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The number issued belonged to no sale before.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Sale.allInstances@pre()->forAll(s | s.saleNumber <> response.saleNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  },
                  {
                    "id": "a3b8ac1b-89dc-56ad-a9cf-0e3aac0b5977",
                    "name": "Sale recorded",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "fd434125-f145-53d9-b7c5-990627dde3d9",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The sale is on record, awaiting the buyer's payment.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Sale.allInstances()->exists(s | s.saleNumber = response.saleNumber and s.listing.listingNumber = request.listingNumber and s.buyer.login = request.buyerLogin and s.price = request.price and s.fee = request.fee and s.amountDue = request.amountDue and s.sellerPayout = request.sellerPayout and s.status = SaleStatus::awaitingPayment)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": []
              },
              {
                "id": "affb8a26-c189-589a-964a-55c2162a0a32",
                "name": "Update sale",
                "annotations": [
                  {
                    "id": "d7789ee0-676b-5fe6-a251-baa97571cad3",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Records how far a sale has got.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "isQuery": false,
                "requestDataStructure": {
                  "id": "a2c3c245-7fd7-5db9-bab5-fcb95495552b",
                  "name": "Request",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "e95e738b-804b-5e56-bb6d-322431ae9d40",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What is supplied when requesting 'Update sale'.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": [
                    {
                      "id": "c7acf395-1fa4-5107-b511-1901bcb293b9",
                      "name": "feedback",
                      "annotations": [
                        {
                          "id": "234e6b5f-6392-5cb3-82ee-0718a5a15bb4",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The buyer's words, once given.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    },
                    {
                      "id": "b2ec2098-1b2e-5ab1-a46c-21e2689e20be",
                      "name": "paymentReference",
                      "annotations": [
                        {
                          "id": "b518a17d-49b9-5c89-a629-9a7a295448d2",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The buyer's payment, once taken.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    },
                    {
                      "id": "0ddb0c77-959f-594c-9895-58df56510981",
                      "name": "payoutReference",
                      "annotations": [
                        {
                          "id": "12f0c31f-75c7-5d57-aec2-f0fc6b5db9ff",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The payout to the seller, once made.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    },
                    {
                      "id": "6d0a5f7a-436d-5727-beed-93ee219bc882",
                      "name": "rating",
                      "annotations": [
                        {
                          "id": "815be86a-f1dd-5a59-b2ce-06849bf5a02f",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The buyer's rating, once given.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "66bb19e4-c5a0-4332-bcc0-9fde917fafa2",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    },
                    {
                      "id": "ad721083-389f-50c4-b115-7309a8d61475",
                      "name": "saleNumber",
                      "annotations": [
                        {
                          "id": "3f8d61e6-0fc1-5858-84d7-d178cb3b20c1",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The sale.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                      "relationship": "composition",
                      "multiplicity": "1"
                    },
                    {
                      "id": "ddb91d88-13f1-5a42-82ef-a19283f8b492",
                      "name": "shipment",
                      "annotations": [
                        {
                          "id": "59221c62-9be4-5350-a580-c082b99367ec",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "How the item was shipped, once it was.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "eb2a9283-ba60-4782-b9e9-ae9d2e7203c6",
                      "relationship": "composition",
                      "multiplicity": "0..1"
                    },
                    {
                      "id": "11a5864d-49b3-5039-835d-e7fa5803c7fd",
                      "name": "status",
                      "annotations": [
                        {
                          "id": "f03fccce-c075-50c3-89db-099adceafa28",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "How far it has got.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "385637f3-9289-5bb9-8aea-fed92af2855f",
                      "relationship": "composition",
                      "multiplicity": "1"
                    }
                  ]
                },
                "responseDataStructure": {
                  "id": "5da9b0ed-c5ba-527c-96c4-8aac5944bda5",
                  "name": "Response",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "92cb6592-a6f7-5672-9cda-f12b8f6ab33d",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What 'Update sale' answers with.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "preConditions": [
                  {
                    "id": "d159d4b1-1414-5705-803c-77d4b99d6685",
                    "name": "Sale exists",
                    "annotations": [
                      {
                        "id": "cf682f42-b546-567c-9a94-938c8c91f12a",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Only a sale on record is updated.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Sale.allInstances()->exists(s | s.saleNumber = request.saleNumber)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "raisedException": {
                      "id": "5c3b79a6-a96f-5f9e-8694-8d2a5e6ee427",
                      "name": "Sale exists not met",
                      "variant": "DataStructure",
                      "annotations": [
                        {
                          "id": "9edd79d8-75fb-51ab-b45c-5cfc8e0f7d44",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "Raised when 'Update sale' is requested while 'Sale exists' does not hold.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "abstract": false,
                      "fields": []
                    },
                    "exceptionConstraints": []
                  }
                ],
                "waivedPreConditions": [],
                "postConditions": [
                  {
                    "id": "be1455d1-de0a-5403-b35f-82c20fb9d75e",
                    "name": "Sale updated",
                    "isPostCondition": true,
                    "annotations": [
                      {
                        "id": "2aa99814-4917-5611-aee6-ba1444bedbe5",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The sale carries the status and every detail given; what is not given is kept.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "Sale.allInstances()->exists(s | s.saleNumber = request.saleNumber and s.status = request.status and s.paymentReference = if request.paymentReference->notEmpty() then request.paymentReference else Sale.allInstances@pre()->any(b | b.saleNumber = request.saleNumber).paymentReference endif and s.payoutReference = if request.payoutReference->notEmpty() then request.payoutReference else Sale.allInstances@pre()->any(b | b.saleNumber = request.saleNumber).payoutReference endif and s.shipment = if request.shipment->notEmpty() then request.shipment else Sale.allInstances@pre()->any(b | b.saleNumber = request.saleNumber).shipment endif and s.rating = if request.rating->notEmpty() then request.rating else Sale.allInstances@pre()->any(b | b.saleNumber = request.saleNumber).rating endif and s.feedback = if request.feedback->notEmpty() then request.feedback else Sale.allInstances@pre()->any(b | b.saleNumber = request.saleNumber).feedback endif)",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": [
                      "7a0e2bc7-9fba-5ebd-b609-85cd229c05e8"
                    ],
                    "messageSendEvents": []
                  }
                ],
                "provisionalStakeholders": [],
                "publishedTo": [],
                "appliesToCurrentState": "The status and details are what the sale's own process decides from its own course, not from anything it read of the sale; every field the request does not state is kept as stored."
              }
            ],
            "dataTypes": [
              {
                "id": "0160e509-55f7-5e43-ad80-19d6a9bb8685",
                "name": "Receipt",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "0d2e5389-428e-5d3e-a538-7e45efb28052",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "What the buyer is told once they have paid.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [],
                "abstract": false,
                "fields": [
                  {
                    "id": "8eab5c47-431c-59ca-a24f-bfced2d4ab3d",
                    "name": "amountPaid",
                    "annotations": [
                      {
                        "id": "16e1dfab-b237-545f-b8d6-2e446976cca4",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What was charged.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "0d28cb50-c8ad-5161-854d-f2d86712881f",
                    "name": "paymentReference",
                    "annotations": [
                      {
                        "id": "c323db3a-3828-505d-970c-785d0c36d011",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The payment gateway's reference.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "99363ecf-1392-55f3-b833-d96dd2ed570c",
                    "name": "saleNumber",
                    "annotations": [
                      {
                        "id": "911b8369-6aac-5bb9-8b4d-77da6ddc0594",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The sale paid for.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "52f2757f-7118-5199-bb8a-60210a27f389",
                    "name": "title",
                    "annotations": [
                      {
                        "id": "d41edb02-58cf-5ebc-9c9b-78ef13d2c1ac",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The item bought.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "1"
                  }
                ]
              },
              {
                "id": "f80f64f6-1d90-53bb-be8a-cfdd1bac8208",
                "name": "SaleRecord",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "e797d318-7393-5560-a3f1-4142753fe353",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The auctioneer's record of one sale.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "c240b691-6af9-5c93-9111-2d5d19219b08",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "A **facet** of the `Sale` entity.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [
                  {
                    "id": "3d190d77-c077-5c64-96ff-c842064a9e56",
                    "name": "Sale number format",
                    "isInvariance": true,
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "formalSpecification": {
                      "body": "self.saleNumber.matches('SA-[0-9]{4,}')",
                      "specificationLanguage": "OCL"
                    },
                    "requiredBy": []
                  }
                ],
                "abstract": false,
                "fields": [
                  {
                    "id": "5a6eed09-2df2-5cfb-9053-0119f8e2ecf4",
                    "name": "amountDue",
                    "annotations": [
                      {
                        "id": "9f71c844-f559-5522-9934-96ea4dc2b68c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What the buyer pays: the price and the shipping cost.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "5898c322-2f90-5824-b2c4-4ef98661f148",
                    "name": "buyer",
                    "annotations": [
                      {
                        "id": "37935a75-1ba2-53f1-9e0c-57fc2ff19923",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The member who bought it.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "16bbe8be-208b-58e0-bacf-4fb18dacc380",
                    "relationship": "association",
                    "multiplicity": "1"
                  },
                  {
                    "id": "3b82dc56-bab5-5a51-8136-d2021941a13a",
                    "name": "fee",
                    "annotations": [
                      {
                        "id": "e9c5422e-7414-5329-a8ec-edac45e6c55e",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What the auctioneer keeps.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "a140409e-d741-5127-9ea1-acc73d35ccf9",
                    "name": "feedback",
                    "annotations": [
                      {
                        "id": "c2aab94e-1372-58bd-84be-4fcbf3cc894d",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer's words about the sale.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "0..1"
                  },
                  {
                    "id": "aa0d20b2-e2a3-5659-81c1-f02545efc708",
                    "name": "listing",
                    "annotations": [
                      {
                        "id": "296eedf0-b157-581b-92ec-32865fa9646c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The listing sold.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "e8050dfd-03f5-5e62-aa0a-ac7bd199ae5e",
                    "relationship": "association",
                    "multiplicity": "1"
                  },
                  {
                    "id": "0c87593f-2714-5869-b29f-ac0b5c8bec0f",
                    "name": "paymentReference",
                    "annotations": [
                      {
                        "id": "b653ecfb-3452-52eb-a327-b9eb50b562c2",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The payment gateway's reference for the buyer's payment.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                    "relationship": "composition",
                    "multiplicity": "0..1"
                  },
                  {
                    "id": "5e87ac20-e584-5656-860e-cea841069c27",
                    "name": "payoutReference",
                    "annotations": [
                      {
                        "id": "ba2350e5-2421-52c5-87a1-a89954632d32",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The bank's reference for the payout to the seller.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                    "relationship": "composition",
                    "multiplicity": "0..1"
                  },
                  {
                    "id": "5dbebb6f-6e63-5bf0-afd7-33d111d3c2da",
                    "name": "price",
                    "annotations": [
                      {
                        "id": "c4763ec2-c8cd-53d8-b104-631af448cdb6",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The winning bid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "07ec0e0e-5ae4-54c3-9350-bb1d97c57eaf",
                    "name": "rating",
                    "annotations": [
                      {
                        "id": "e3db2c6e-9232-589a-b1c8-dd013a005287",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer's rating of the seller.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "66bb19e4-c5a0-4332-bcc0-9fde917fafa2",
                    "relationship": "composition",
                    "multiplicity": "0..1"
                  },
                  {
                    "id": "722aa1be-2a09-5e99-9fd8-ead1a390cc08",
                    "name": "saleNumber",
                    "annotations": [
                      {
                        "id": "1b2dd512-4ecb-5938-9707-7e8804162feb",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The sale's number.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "0c0d91de-b9e8-506d-9231-8a9a9540fcd6",
                    "name": "sellerPayout",
                    "annotations": [
                      {
                        "id": "4d761c17-1455-533d-a80f-7d7a3c2583bd",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "What the seller is paid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "02a10652-7f4f-5744-b3ce-3aabde3fdffc",
                    "name": "shipment",
                    "annotations": [
                      {
                        "id": "b43a6fd0-c6ef-5b18-87be-51e4ff4e8530",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "How the item was shipped.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "eb2a9283-ba60-4782-b9e9-ae9d2e7203c6",
                    "relationship": "composition",
                    "multiplicity": "0..1"
                  },
                  {
                    "id": "121bce12-c917-57d6-b4d1-42420782d8c8",
                    "name": "status",
                    "annotations": [
                      {
                        "id": "e9c859ff-d4b6-5614-901b-6a26719c3710",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "How far the sale has got.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "385637f3-9289-5bb9-8aea-fed92af2855f",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "f2fcbd37-7511-5989-a584-3953a3ed38c5",
                    "name": "version",
                    "annotations": [
                      {
                        "id": "a98fc18b-d5e4-551e-befd-7248254fa818",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The version of the sale read.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "158ecbc4-0e6b-4efe-b3d0-cb28b441fd44",
                    "relationship": "composition",
                    "multiplicity": "1"
                  }
                ]
              },
              {
                "id": "385637f3-9289-5bb9-8aea-fed92af2855f",
                "name": "SaleStatus",
                "variant": "Enumeration",
                "annotations": [
                  {
                    "id": "d96ed8a4-4dee-5f62-b2a0-fd1e0b66078f",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "How far a sale has got.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [],
                "options": [
                  "awaitingPayment",
                  "completed",
                  "paid",
                  "paymentFailed",
                  "paymentOverdue",
                  "shipped"
                ]
              },
              {
                "id": "5ecc6df5-50bd-57fd-84e3-46a5db6dd1f6",
                "name": "TrackingDetails",
                "variant": "DataStructure",
                "annotations": [
                  {
                    "id": "f3169374-9c1f-5359-8d14-2567b49d28e5",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "What the buyer is told once the item is shipped.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "invariances": [],
                "abstract": false,
                "fields": [
                  {
                    "id": "6382fec4-96d4-5b36-bd67-bd970c385853",
                    "name": "saleNumber",
                    "annotations": [
                      {
                        "id": "0667c3c3-334c-5c09-a77c-387495406b78",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The sale shipped.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "9d59e364-f780-560f-9de7-ea7ca630d206",
                    "name": "shipment",
                    "annotations": [
                      {
                        "id": "bbbfd140-3031-5db6-a589-2d107fd685ad",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The carrier and how to follow the consignment.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "eb2a9283-ba60-4782-b9e9-ae9d2e7203c6",
                    "relationship": "composition",
                    "multiplicity": "1"
                  },
                  {
                    "id": "9954fe50-2647-52df-912f-192aaaddac54",
                    "name": "title",
                    "annotations": [
                      {
                        "id": "e2a93f6d-3099-5c71-bd30-e006f4051e7f",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The item shipped.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "invariances": [],
                    "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                    "relationship": "composition",
                    "multiplicity": "1"
                  }
                ]
              }
            ],
            "entities": [
              {
                "id": "d40f116b-23b8-5717-876f-abd4b68ae29d",
                "name": "Sale",
                "annotations": [
                  {
                    "id": "8287a976-d8ed-5edd-9ac3-d1ab0201e619",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "An item sold to its highest bidder, from payment to feedback.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "readableBy": [],
                "facetBindings": [
                  {
                    "id": "9aa20be7-c6f2-50c8-abc4-ba17cb780f55",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "structure": "f80f64f6-1d90-53bb-be8a-cfdd1bac8208",
                    "fieldRoles": [
                      {
                        "id": "8a022a28-4464-544b-826f-4ad258587d6b",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "0c0d91de-b9e8-506d-9231-8a9a9540fcd6",
                        "role": "states"
                      },
                      {
                        "id": "5e744d5a-8398-5244-b576-8e93990e7b73",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "0c87593f-2714-5869-b29f-ac0b5c8bec0f",
                        "role": "states"
                      },
                      {
                        "id": "065ef0cb-5a51-520a-b162-2544f110f0a7",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "02a10652-7f4f-5744-b3ce-3aabde3fdffc",
                        "role": "states"
                      },
                      {
                        "id": "9b9c2a47-5d72-5c34-8954-9c532f8de2b9",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "3b82dc56-bab5-5a51-8136-d2021941a13a",
                        "role": "states"
                      },
                      {
                        "id": "366ce8da-e66c-5db4-ba12-3fdfc77d1650",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "5a6eed09-2df2-5cfb-9053-0119f8e2ecf4",
                        "role": "states"
                      },
                      {
                        "id": "bfe75bf8-1b95-5d9b-8b9a-83b1532e8022",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "5dbebb6f-6e63-5bf0-afd7-33d111d3c2da",
                        "role": "states"
                      },
                      {
                        "id": "1a74e050-953e-5161-a040-9807aa977e8c",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "5e87ac20-e584-5656-860e-cea841069c27",
                        "role": "states"
                      },
                      {
                        "id": "f68a1b79-b78b-5f7b-b4aa-17309ce7f77a",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "07ec0e0e-5ae4-54c3-9350-bb1d97c57eaf",
                        "role": "states"
                      },
                      {
                        "id": "4f5cf94f-c138-5c0b-8e15-c07b4ea19c81",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "121bce12-c917-57d6-b4d1-42420782d8c8",
                        "role": "states"
                      },
                      {
                        "id": "06b25b2a-eb47-5fc0-b7ae-ccd11398b13c",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "722aa1be-2a09-5e99-9fd8-ead1a390cc08",
                        "role": "identifies"
                      },
                      {
                        "id": "b2d87dfe-5e88-5fba-be12-6dbdc09bf26a",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "5898c322-2f90-5824-b2c4-4ef98661f148",
                        "role": "states"
                      },
                      {
                        "id": "00e210bd-a3bd-5d26-a78c-330b8af4e7a8",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "a140409e-d741-5127-9ea1-acc73d35ccf9",
                        "role": "states"
                      },
                      {
                        "id": "c372646f-cea6-5411-bccb-224cc5597399",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "aa0d20b2-e2a3-5659-81c1-f02545efc708",
                        "role": "states"
                      },
                      {
                        "id": "ca6eb9d9-a290-5145-a3ce-9f8adca9f16f",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "field": "f2fcbd37-7511-5989-a584-3953a3ed38c5",
                        "role": "version"
                      }
                    ]
                  }
                ]
              }
            ],
            "processes": [
              {
                "id": "47af1bd2-4ace-570a-a3bf-339b306799d0",
                "name": "Collect payment",
                "variant": "Process",
                "annotations": [
                  {
                    "id": "1987f344-dfeb-5865-bdf5-f7156220a3a7",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The buyer pays within three days, or the sale says why not.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "activities": [
                  {
                    "id": "0435b41e-93c7-5fa9-8994-73ea8ddeaefe",
                    "name": "Sale on record",
                    "variant": "CheckPreCondition",
                    "annotations": [
                      {
                        "id": "9724f25b-9111-5b1d-b82b-66c704e5dade",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Refuse unless 'Sale on record' holds.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "preCondition": "03bb2c9a-2511-5e19-97e6-a2426db72d05"
                  },
                  {
                    "id": "b53cf2fe-8957-53b6-8106-c54521478446",
                    "name": "Payment deadline",
                    "variant": "MonitoredActivities",
                    "annotations": [
                      {
                        "id": "480d6e7f-d736-5b8e-9ff2-c8eb2dab010c",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "The buyer has three days to pay.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "activitySequence": {
                      "id": "19acaa9e-5433-5290-9abf-bde1d90d9da9",
                      "name": "body",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": [
                        {
                          "id": "13a6efad-7460-5b32-83a0-06bbed8d2db7",
                          "name": "Pay for item",
                          "variant": "RequestService",
                          "annotations": [
                            {
                              "id": "36573500-91e9-57d6-b966-1515fb1e838f",
                              "name": "Description",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "body": "Ask the buyer to pay.",
                              "purpose": "shortDescription",
                              "language": "en",
                              "markup": "text_plain"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "service": "b6e2eada-87eb-57b2-a5bc-8b157a013d95",
                          "requestConstraints": [
                            {
                              "id": "f172dcd5-aff4-584a-9623-fcb00e205ad0",
                              "name": "amountDue",
                              "variant": "RequestConstraint",
                              "annotations": [
                                {
                                  "id": "de50c03a-1c0e-5ec7-a93c-7f777eb36c1f",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "How 'amountDue' is populated for this request.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "formalSpecification": {
                                "body": "providerRequest.amountDue = request.amountDue",
                                "specificationLanguage": "OCL"
                              }
                            },
                            {
                              "id": "23fc6e01-4730-5cf7-8d36-9e86b24f2676",
                              "name": "buyerLogin",
                              "variant": "RequestConstraint",
                              "annotations": [
                                {
                                  "id": "95281d74-c75e-5d72-9136-35f1264202f3",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "How 'buyerLogin' is populated for this request.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "formalSpecification": {
                                "body": "providerRequest.buyerLogin = request.buyerLogin",
                                "specificationLanguage": "OCL"
                              }
                            },
                            {
                              "id": "ede4a066-bb7d-5cec-bed4-d6e95aecac85",
                              "name": "saleNumber",
                              "variant": "RequestConstraint",
                              "annotations": [
                                {
                                  "id": "95128d06-d369-56f0-8e30-0d9238f86025",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "How 'saleNumber' is populated for this request.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "formalSpecification": {
                                "body": "providerRequest.saleNumber = request.saleNumber",
                                "specificationLanguage": "OCL"
                              }
                            },
                            {
                              "id": "23633ada-bdce-59de-bab0-e4c4c125f5d4",
                              "name": "title",
                              "variant": "RequestConstraint",
                              "annotations": [
                                {
                                  "id": "6bf5f6bf-1a8f-5fc1-9f67-2c02e9c88984",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "How 'title' is populated for this request.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "formalSpecification": {
                                "body": "providerRequest.title = request.title",
                                "specificationLanguage": "OCL"
                              }
                            }
                          ],
                          "instanceKind": "singleInstance",
                          "processingMode": "parallel",
                          "responseVariable": {
                            "id": "1cbb59cf-162f-5ddd-881e-799206b64ce9",
                            "name": "payment",
                            "annotations": [
                              {
                                "id": "4f765bbd-5f49-5840-bea5-1c4d6386eeec",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "How the buyer pays.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "invariances": [],
                            "dataType": "d643cced-820d-5e66-a4c4-68dffbf963e5",
                            "multiplicity": "1"
                          },
                          "defaultFlow": {
                            "id": "49cd2b97-f7ac-5c86-88eb-72531d5aecc4",
                            "name": "default",
                            "variant": "ActivitySequence",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "activities": [
                              {
                                "id": "83acff96-ee6f-5d29-aad2-7a6d0a14bbf3",
                                "name": "Charge payment",
                                "variant": "RequestService",
                                "annotations": [
                                  {
                                    "id": "65d56e5f-1aa7-5e3b-888a-1721e3a949b0",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "Charge the buyer what is due.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "service": "8211f3c3-fe6e-5e4f-8ca9-e46d59cb70d8",
                                "requestConstraints": [
                                  {
                                    "id": "16358d0b-b45c-5ae7-ad70-01bf2ef96b49",
                                    "name": "amount",
                                    "variant": "RequestConstraint",
                                    "annotations": [
                                      {
                                        "id": "89f0a059-ba74-5add-b635-7a2ec8351997",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "How 'amount' is populated for this request.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "formalSpecification": {
                                      "body": "providerRequest.amount = request.amountDue",
                                      "specificationLanguage": "OCL"
                                    }
                                  },
                                  {
                                    "id": "ddcf1ee3-71ed-544f-b15a-b7f812d52957",
                                    "name": "paymentToken",
                                    "variant": "RequestConstraint",
                                    "annotations": [
                                      {
                                        "id": "b0c2880f-a7c9-597f-8b20-1de0c71d7e41",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "How 'paymentToken' is populated for this request.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "formalSpecification": {
                                      "body": "providerRequest.paymentToken = payment.paymentToken",
                                      "specificationLanguage": "OCL"
                                    }
                                  },
                                  {
                                    "id": "71dedebc-6d81-55f3-8c6f-e499be88efc6",
                                    "name": "reference",
                                    "variant": "RequestConstraint",
                                    "annotations": [
                                      {
                                        "id": "f75dc542-c8e5-52aa-99cc-f50a08a2d528",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "How 'reference' is populated for this request.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "formalSpecification": {
                                      "body": "providerRequest.reference = request.saleNumber",
                                      "specificationLanguage": "OCL"
                                    }
                                  }
                                ],
                                "instanceKind": "singleInstance",
                                "processingMode": "parallel",
                                "responseVariable": {
                                  "id": "3b3ab622-b14d-5989-b087-2fa19ef7387f",
                                  "name": "charged",
                                  "annotations": [
                                    {
                                      "id": "8a089bf9-fc79-54aa-9147-a9c52db81c17",
                                      "name": "Description",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "body": "The payment taken.",
                                      "purpose": "shortDescription",
                                      "language": "en",
                                      "markup": "text_plain"
                                    }
                                  ],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "invariances": [],
                                  "dataType": "4baa6c11-612f-5506-a563-c218c0390fa9",
                                  "multiplicity": "1"
                                },
                                "defaultFlow": {
                                  "id": "5a26848a-6b7b-5c1b-b23d-2285bfe077bc",
                                  "name": "default",
                                  "variant": "ActivitySequence",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "activities": [
                                    {
                                      "id": "761981f6-1614-578c-97ff-5eb2c55768e8",
                                      "name": "Mark paid",
                                      "variant": "RequestService",
                                      "annotations": [
                                        {
                                          "id": "1ac33c54-6ec8-544a-b453-fc18607de320",
                                          "name": "Description",
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "body": "Record the payment against the sale.",
                                          "purpose": "shortDescription",
                                          "language": "en",
                                          "markup": "text_plain"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                                      "requestConstraints": [
                                        {
                                          "id": "8d631ee5-013e-51a1-8e01-902d4e056c65",
                                          "name": "paymentReference",
                                          "variant": "RequestConstraint",
                                          "annotations": [
                                            {
                                              "id": "30d97b79-27ea-58df-853f-be0fe46794ab",
                                              "name": "Description",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "body": "How 'paymentReference' is populated for this request.",
                                              "purpose": "shortDescription",
                                              "language": "en",
                                              "markup": "text_plain"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "formalSpecification": {
                                            "body": "providerRequest.paymentReference = charged.paymentReference",
                                            "specificationLanguage": "OCL"
                                          }
                                        },
                                        {
                                          "id": "cbe0b72a-f309-5d5f-8d1d-979dbeb0a34d",
                                          "name": "saleNumber",
                                          "variant": "RequestConstraint",
                                          "annotations": [
                                            {
                                              "id": "dfdf4e2d-125d-58ce-8abf-0e222edbb8d8",
                                              "name": "Description",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "body": "How 'saleNumber' is populated for this request.",
                                              "purpose": "shortDescription",
                                              "language": "en",
                                              "markup": "text_plain"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "formalSpecification": {
                                            "body": "providerRequest.saleNumber = request.saleNumber",
                                            "specificationLanguage": "OCL"
                                          }
                                        },
                                        {
                                          "id": "5af1780a-a08b-58c3-b493-41fca0be7f85",
                                          "name": "status",
                                          "variant": "RequestConstraint",
                                          "annotations": [
                                            {
                                              "id": "89750473-fcda-50e0-8750-6c19a76c1da2",
                                              "name": "Description",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "body": "How 'status' is populated for this request.",
                                              "purpose": "shortDescription",
                                              "language": "en",
                                              "markup": "text_plain"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "formalSpecification": {
                                            "body": "providerRequest.status = SaleStatus::paid",
                                            "specificationLanguage": "OCL"
                                          }
                                        }
                                      ],
                                      "establishments": [
                                        {
                                          "id": "f64bbb42-e45d-5b9c-b08a-9c3da16e9da4",
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                          "establishedBy": "03bb2c9a-2511-5e19-97e6-a2426db72d05"
                                        }
                                      ],
                                      "instanceKind": "singleInstance",
                                      "processingMode": "parallel",
                                      "defaultFlow": {
                                        "id": "2fd90658-9693-5808-92fd-ca327209e98f",
                                        "name": "default",
                                        "variant": "ActivitySequence",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "activities": []
                                      },
                                      "exceptionHandlers": [],
                                      "messageHandlers": [],
                                      "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                    },
                                    {
                                      "id": "5d6e58e6-a9b8-5604-aad5-90e730279a60",
                                      "name": "Report the payment",
                                      "variant": "PopulateResponse",
                                      "annotations": [
                                        {
                                          "id": "b985923c-d311-5336-8f78-d96e5ed2c679",
                                          "name": "Description",
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "body": "Answer with the payment's reference.",
                                          "purpose": "shortDescription",
                                          "language": "en",
                                          "markup": "text_plain"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "responseConstraints": [
                                        {
                                          "id": "31abff67-0ba9-5567-aa2b-830a9f5b2779",
                                          "name": "paymentReference",
                                          "variant": "ResponseConstraint",
                                          "annotations": [
                                            {
                                              "id": "f7c83ebd-1af7-571f-831b-32cf7ee62d1b",
                                              "name": "Description",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "body": "How the response's paymentReference is populated.",
                                              "purpose": "shortDescription",
                                              "language": "en",
                                              "markup": "text_plain"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "formalSpecification": {
                                            "body": "response.paymentReference = charged.paymentReference",
                                            "specificationLanguage": "OCL"
                                          }
                                        }
                                      ]
                                    }
                                  ]
                                },
                                "exceptionHandlers": [
                                  {
                                    "id": "37da9d12-c2c3-5036-a98c-edffc5ce1d43",
                                    "name": "handle Payment authorised not met",
                                    "variant": "ExceptionHandler",
                                    "annotations": [
                                      {
                                        "id": "56897eb3-c063-5094-a501-22b5c1b509b2",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "The gateway refused the payment: the sale says so, and nothing was charged.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "activities": [
                                      {
                                        "id": "b40e23d5-9074-5d04-9f5c-531c61408296",
                                        "name": "Mark payment failed",
                                        "variant": "RequestService",
                                        "annotations": [
                                          {
                                            "id": "a0178bc8-2048-5392-8693-a2d9003974e3",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "Record that the payment was refused.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                                        "requestConstraints": [
                                          {
                                            "id": "8bc2fb0f-f034-5afa-9fcf-ba96db73e7db",
                                            "name": "saleNumber",
                                            "variant": "RequestConstraint",
                                            "annotations": [
                                              {
                                                "id": "6ece8835-fbb3-590d-8dba-683fdeb83d60",
                                                "name": "Description",
                                                "annotations": [],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "body": "How 'saleNumber' is populated for this request.",
                                                "purpose": "shortDescription",
                                                "language": "en",
                                                "markup": "text_plain"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "formalSpecification": {
                                              "body": "providerRequest.saleNumber = request.saleNumber",
                                              "specificationLanguage": "OCL"
                                            }
                                          },
                                          {
                                            "id": "0095164a-b969-5f5f-8d34-c561f4c5023e",
                                            "name": "status",
                                            "variant": "RequestConstraint",
                                            "annotations": [
                                              {
                                                "id": "5399c3f1-c13d-536a-9843-a42e985bff1e",
                                                "name": "Description",
                                                "annotations": [],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "body": "How 'status' is populated for this request.",
                                                "purpose": "shortDescription",
                                                "language": "en",
                                                "markup": "text_plain"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "formalSpecification": {
                                              "body": "providerRequest.status = SaleStatus::paymentFailed",
                                              "specificationLanguage": "OCL"
                                            }
                                          }
                                        ],
                                        "establishments": [
                                          {
                                            "id": "a52675e3-8a10-5ae8-b3c3-e3ff0e1df77f",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                            "establishedBy": "03bb2c9a-2511-5e19-97e6-a2426db72d05"
                                          }
                                        ],
                                        "instanceKind": "singleInstance",
                                        "processingMode": "parallel",
                                        "defaultFlow": {
                                          "id": "3bf7ac35-21e5-5073-9545-4ab4447b86bd",
                                          "name": "default",
                                          "variant": "ActivitySequence",
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "activities": []
                                        },
                                        "exceptionHandlers": [],
                                        "messageHandlers": [],
                                        "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                      },
                                      {
                                        "id": "e0342f84-29fe-512d-a8de-5984fab5c9a9",
                                        "name": "Report no payment",
                                        "variant": "PopulateResponse",
                                        "annotations": [
                                          {
                                            "id": "7626d4cf-fc74-5693-937b-c25decf9f71c",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "Answer with no payment.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "responseConstraints": []
                                      }
                                    ],
                                    "exception": "79b31b3a-6384-5f67-bafa-ece83f01b21f"
                                  }
                                ],
                                "messageHandlers": [],
                                "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                              }
                            ]
                          },
                          "exceptionHandlers": [],
                          "messageHandlers": [],
                          "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                        }
                      ]
                    },
                    "monitors": [
                      {
                        "id": "d3b4b172-8dc7-59cf-8eae-bbbe0e552674",
                        "name": "Payment overdue",
                        "variant": "Monitor",
                        "annotations": [
                          {
                            "id": "c1848e7b-76e2-59a8-97ff-03542d0f6c76",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Three days pass without a payment.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "activities": [
                          {
                            "id": "80283af2-823a-5cbb-b938-128d2e21261f",
                            "name": "Mark payment overdue",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "49ee23f4-4269-52ba-b933-8958caf37d9e",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Record that the deadline passed unpaid.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                            "requestConstraints": [
                              {
                                "id": "6d779437-cb2e-5a00-9b79-ba1d7cafabc3",
                                "name": "saleNumber",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "bac9cca4-c6b7-570f-81f7-e91b30a05a1c",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'saleNumber' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.saleNumber = request.saleNumber",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "3861b7b7-6bc7-5beb-b3cf-9b5e5ed238bd",
                                "name": "status",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "e865193f-703e-588c-bf77-8ee36f1cb5be",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'status' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.status = SaleStatus::paymentOverdue",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ],
                            "establishments": [
                              {
                                "id": "8761bfbb-feb2-5024-a094-a2a74ad4b739",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                "establishedBy": "03bb2c9a-2511-5e19-97e6-a2426db72d05"
                              }
                            ],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "defaultFlow": {
                              "id": "c3de564f-dac2-5e63-99e7-9791cff9cb88",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": []
                          },
                          {
                            "id": "f97e8c83-4de6-5d8c-8a36-935809874cae",
                            "name": "Report overdue",
                            "variant": "PopulateResponse",
                            "annotations": [
                              {
                                "id": "c5c30996-195c-56da-b729-e606bd7dd9d8",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Answer with no payment.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "responseConstraints": []
                          }
                        ],
                        "trigger": {
                          "id": "352fb602-4394-538a-a302-1cbc3d5d4dc8",
                          "name": "Three days to pay",
                          "isEvent": true,
                          "variant": "DurationEvent",
                          "annotations": [
                            {
                              "id": "fd400a5d-e688-5940-a203-22e57c69b6de",
                              "name": "Description",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "body": "The payment deadline, from the sale.",
                              "purpose": "shortDescription",
                              "language": "en",
                              "markup": "text_plain"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "duration": "P3D",
                          "deploymentOverridable": true
                        },
                        "interrupting": true
                      }
                    ]
                  }
                ],
                "serviceContract": "6cb1da5c-21c0-5511-ba94-c47ea33811d1",
                "requirementAllocations": [
                  {
                    "id": "80ad8289-21dd-5d30-b0fc-bdde2c908cc0",
                    "name": "Not paid ← Payment deadline",
                    "annotations": [
                      {
                        "id": "69c3f232-a251-51c0-94cc-006907ec4d35",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Payment deadline' is the step that discharges 'Not paid'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "5f69e860-8ced-5abb-8ad4-a3ee07ecab2e",
                    "addressedBy": "b53cf2fe-8957-53b6-8106-c54521478446"
                  },
                  {
                    "id": "2fc8b8e6-2ed7-51d3-ae78-bc0767c523e9",
                    "name": "Paid ← Charge payment",
                    "annotations": [
                      {
                        "id": "f5119678-f3ff-5d0b-b218-b83c0b563cb4",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Charge payment' is the step that discharges 'Paid'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "d6734c29-2018-57ea-882f-950c0c96bdf3",
                    "addressedBy": "83acff96-ee6f-5d29-aad2-7a6d0a14bbf3"
                  }
                ],
                "unplacedActivities": {
                  "id": "47af1bd2-4ace-570a-a3bf-339b306799d0-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "activities": []
                }
              },
              {
                "id": "3057bde0-0a63-574f-99ad-1045a873f755",
                "name": "Complete sale",
                "variant": "Process",
                "annotations": [
                  {
                    "id": "1920b9e0-5d31-5f05-ad6d-6d1cf77f1968",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Closes the listing, then takes a sale to the highest bidder through payment, payout, shipping and feedback.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "activities": [
                  {
                    "id": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9",
                    "name": "Close listing",
                    "variant": "RequestService",
                    "annotations": [
                      {
                        "id": "e5d42077-3d23-5e45-a02d-757cb3649dce",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Close the listing, and learn the highest bid.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "service": "f156f3ea-ed4c-537c-a13b-8c21ac70a7cb",
                    "requestConstraints": [
                      {
                        "id": "36d5190c-04de-56f5-ba19-ae35e48adddd",
                        "name": "listingNumber",
                        "variant": "RequestConstraint",
                        "annotations": [
                          {
                            "id": "e7b70a50-2905-5329-b8a8-81135afb3645",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "How 'listingNumber' is populated for this request.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "formalSpecification": {
                          "body": "providerRequest.listingNumber = request.listingNumber",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ],
                    "instanceKind": "singleInstance",
                    "processingMode": "parallel",
                    "responseVariable": {
                      "id": "23951099-31b8-5080-8865-551916b6eb02",
                      "name": "closed",
                      "annotations": [
                        {
                          "id": "d6a9a1f4-b08c-57af-8b56-2f51d0d28740",
                          "name": "Description",
                          "annotations": [],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "body": "The listing as closed.",
                          "purpose": "shortDescription",
                          "language": "en",
                          "markup": "text_plain"
                        }
                      ],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "invariances": [],
                      "dataType": "6f6f1996-68b9-5293-8d1f-93d235f66fad",
                      "multiplicity": "1"
                    },
                    "defaultFlow": {
                      "id": "7216f9c5-14be-5ddd-a6a8-9db5e060abe5",
                      "name": "default",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": []
                    },
                    "exceptionHandlers": [],
                    "messageHandlers": [],
                    "compensationNotNeeded": "An auction closes at its closing time whether or not its highest bidder can buy: the listing stays closed when Record sale refuses, and the refusal says only that no sale could be made."
                  },
                  {
                    "id": "ed52cd49-8506-5cd4-8ea5-c3623fcacf09",
                    "name": "Was anything bid",
                    "variant": "AlternateFlows",
                    "annotations": [
                      {
                        "id": "76619fba-1024-52e1-86d4-03ec0f34dfe7",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "Sell only what was bid for.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "defaultFlow": {
                      "id": "374023cc-8803-542d-98e9-3a164d9a09b9",
                      "name": "otherwise",
                      "variant": "ActivitySequence",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "activities": [
                        {
                          "id": "9aa9fded-5eca-5e3f-91e0-9ae395cc42f9",
                          "name": "Report no sale",
                          "variant": "PopulateResponse",
                          "annotations": [
                            {
                              "id": "3b242746-bb24-584e-8fb4-f461830b8bde",
                              "name": "Description",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "body": "Answer with no sale: nobody bid.",
                              "purpose": "shortDescription",
                              "language": "en",
                              "markup": "text_plain"
                            }
                          ],
                          "formalizationOf": [],
                          "formalizationSnapshots": [],
                          "responseConstraints": []
                        }
                      ]
                    },
                    "conditionalFlows": [
                      {
                        "id": "87f5b267-375b-5163-bb1c-077b33079bba",
                        "name": "Has bids",
                        "variant": "ConditionalFlow",
                        "annotations": [
                          {
                            "id": "1048239e-3833-5ffb-9c9c-869cfd5da87f",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Someone bid.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "activities": [
                          {
                            "id": "39f09569-5f01-5bd4-b8cf-e1076d465174",
                            "name": "Get service fee",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "76f7acac-032f-512f-a615-963d8e1f2e21",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Read the rate charged now.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "fb2ed1bb-2087-5587-afae-c851bc891ec3",
                            "requestConstraints": [],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "responseVariable": {
                              "id": "b1c56815-8c97-5c92-b977-8c26e446d0b1",
                              "name": "terms",
                              "annotations": [
                                {
                                  "id": "1a04a7e2-69d3-53c4-9d70-66b6b6c3ff37",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "The platform's current rate.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "invariances": [],
                              "dataType": "546d0046-f87a-5fcc-b284-179e34244a1c",
                              "multiplicity": "1"
                            },
                            "defaultFlow": {
                              "id": "7411fad7-fda7-5d86-8e06-050f29701f84",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": []
                          },
                          {
                            "id": "4ebbcfdb-e34d-5367-a8b5-e2cc93b5af34",
                            "name": "Compute settlement",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "193e862b-2d3d-5a7d-a9e6-09dfb5cf5ea8",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Work out the fee, what is due and what is paid out.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "2572ba7d-a043-5fb3-9683-92b1cc6ab4ee",
                            "requestConstraints": [
                              {
                                "id": "3fa847d2-5b1f-5d4f-a622-4100ecf1b501",
                                "name": "price",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "1b96f849-2ec7-5d8c-ac8d-51ea2c37f154",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'price' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.price = closed.winningBid.amount",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "0abf11f5-e73e-5ab2-8c0d-13c967f8ff62",
                                "name": "serviceFeeRate",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "6b0fb2ca-709c-5820-983e-1488e164d9ba",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'serviceFeeRate' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.serviceFeeRate = terms.serviceFeeRate",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "d77b5eac-09c9-519b-8c39-a397c4ff0a33",
                                "name": "shippingCost",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "ae06696f-fde2-557a-88ac-13a4caad2861",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'shippingCost' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.shippingCost = closed.shippingCost",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "responseVariable": {
                              "id": "70c1143f-3273-5605-89cd-61a07fcdd8f3",
                              "name": "settlement",
                              "annotations": [
                                {
                                  "id": "e201bb63-9d3c-5da4-a2fe-0198b52d8d1b",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "The amounts of the sale.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "invariances": [],
                              "dataType": "56cf79b5-c967-5751-8a0b-9ab9aad835e0",
                              "multiplicity": "1"
                            },
                            "defaultFlow": {
                              "id": "645c4558-7b07-5c40-8638-064925e53389",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": []
                          },
                          {
                            "id": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c",
                            "name": "Record sale",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "16aa173e-dbbd-5fe6-9642-0612ae0ba68f",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Record the sale to the highest bidder.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "cd790fa4-150f-5630-be7e-a39dfd0f47a5",
                            "requestConstraints": [
                              {
                                "id": "04b8085d-fb7e-51a9-bdab-f04570339fe2",
                                "name": "amountDue",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "d8af5c25-e567-5268-bcb9-d5318759664c",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'amountDue' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.amountDue = settlement.amountDue",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "bf0417aa-7db4-594c-b563-e5a72cc5961a",
                                "name": "buyerLogin",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "1e8f975f-15c4-58e4-af7e-296af1758f0e",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'buyerLogin' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.buyerLogin = closed.winningBid.bidderLogin",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "270a6ab2-d6b9-56c1-a38f-df370de0b56f",
                                "name": "fee",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "44a84594-7ba0-59f0-bf53-1c976cf3d6e1",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'fee' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.fee = settlement.fee",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "1b2e2455-8dd0-5880-b5bc-ac21d2df476c",
                                "name": "listingNumber",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "55e63abd-9180-517e-b78c-e751a7b3d340",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'listingNumber' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.listingNumber = request.listingNumber",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "6f1315a9-8719-55ee-9081-a152218cb784",
                                "name": "price",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "32aa416e-37f3-5e3d-963a-2764ea35c517",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'price' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.price = closed.winningBid.amount",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "d78535aa-48df-5ee9-8cdd-ba564a2eba89",
                                "name": "sellerPayout",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "edd6e2ee-203b-5a27-9456-e8322aa6a9c7",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'sellerPayout' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.sellerPayout = settlement.sellerPayout",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ],
                            "establishments": [
                              {
                                "id": "39e8d1a2-5fba-590b-bd45-9908cb9333c7",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "preCondition": "3a1a50a4-df97-5ae2-ab60-590b38e4fb58",
                                "establishedBy": "3c538780-7fbc-50ff-8446-b38cc5f09dc9",
                                "byRequest": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9"
                              }
                            ],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "responseVariable": {
                              "id": "d4dd0fa6-ac3b-5d0f-b135-672f29d9a400",
                              "name": "sale",
                              "annotations": [
                                {
                                  "id": "aa1abf67-bf31-5798-bfbe-ca9de34aad3e",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "The sale as recorded.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "invariances": [],
                              "dataType": "fe5a4e02-0296-57d7-8e76-f47728e2a000",
                              "multiplicity": "1"
                            },
                            "defaultFlow": {
                              "id": "789ecf77-c476-5495-a1cc-268a4ea33363",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": [],
                            "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                          },
                          {
                            "id": "d8736578-77d3-5b0d-8b3b-970d254f60d2",
                            "name": "Get buyer",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "6a22c361-1ffa-5ece-b6a9-114bea5d9a09",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Ask Membership where to ship to.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "2599bf31-4eb9-5f70-b4e6-66c9519263ea",
                            "requestConstraints": [
                              {
                                "id": "137f461e-1ed8-55ef-96cf-72ad4abad77e",
                                "name": "login",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "01f6fc0d-c696-5cdc-a3f5-7e06f53d32db",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'login' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.login = closed.winningBid.bidderLogin",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ],
                            "establishments": [
                              {
                                "id": "c2209e4d-1bb6-5789-9148-6ccf5bee115e",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "preCondition": "4cb5480e-cb67-55df-9f4a-cf14317f0ef7",
                                "establishedBy": "61f37655-ccb8-5daf-a873-9dad2f8550de",
                                "byRequest": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                              }
                            ],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "responseVariable": {
                              "id": "0659c911-3554-5b5e-99db-80eb0588a4de",
                              "name": "buyer",
                              "annotations": [
                                {
                                  "id": "83387308-28f8-54b3-a51c-38ee426b0f79",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "The buyer, as Membership tells.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "invariances": [],
                              "dataType": "df6c0997-3c97-51c8-a225-2a4d303ae2ca",
                              "multiplicity": "1"
                            },
                            "defaultFlow": {
                              "id": "eb6d3039-bdf5-5f4c-bfcc-4ca4ee9325fd",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": []
                          },
                          {
                            "id": "0cde9285-305c-5655-a964-038a3d5b0aa6",
                            "name": "Get seller",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "cad0f0b5-04fe-5cf9-a4b2-ef974a566c14",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Ask Membership where to pay the seller.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "2599bf31-4eb9-5f70-b4e6-66c9519263ea",
                            "requestConstraints": [
                              {
                                "id": "391b7223-33ac-5ba9-be3b-72ecbded0e62",
                                "name": "login",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "5f26c6fe-aa65-5bb1-9ba1-131f6c4900b0",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'login' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.login = closed.sellerLogin",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ],
                            "establishments": [
                              {
                                "id": "59ccb208-9d4c-5d9b-be42-fd61d38676eb",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "preCondition": "4cb5480e-cb67-55df-9f4a-cf14317f0ef7",
                                "establishedBy": "2ff489d3-5476-5bd5-8cdd-b90c4d53b3f1",
                                "byRequest": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9"
                              }
                            ],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "responseVariable": {
                              "id": "88356e12-d5c4-573f-a19b-aa6aafa515c2",
                              "name": "seller",
                              "annotations": [
                                {
                                  "id": "0f7a0284-1605-50fc-8e01-be1ef24140ed",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "The seller, as Membership tells.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "invariances": [],
                              "dataType": "df6c0997-3c97-51c8-a225-2a4d303ae2ca",
                              "multiplicity": "1"
                            },
                            "defaultFlow": {
                              "id": "98256534-993e-5ad6-a67d-7006cec9043f",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": []
                          },
                          {
                            "id": "d04bbc3b-046b-5330-ba93-aad00c6a6ae6",
                            "name": "Collect payment",
                            "variant": "RequestService",
                            "annotations": [
                              {
                                "id": "11c759e8-abc2-5057-8f72-b00189a0ed57",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Have the buyer pay, by the deadline.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "service": "6cb1da5c-21c0-5511-ba94-c47ea33811d1",
                            "requestConstraints": [
                              {
                                "id": "4acecc28-1496-5551-ab9e-6dc6911d1b2d",
                                "name": "amountDue",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "7ba7df6c-88b0-5c67-b56c-970491b70a23",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'amountDue' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.amountDue = settlement.amountDue",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "b2178cbc-2d81-5c5a-ae8e-60fb8e3d6df4",
                                "name": "buyerLogin",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "3de40210-746a-5701-9286-7d8d04006722",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'buyerLogin' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.buyerLogin = closed.winningBid.bidderLogin",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "1f257a5e-f4ff-5593-b2db-9f4a00030eae",
                                "name": "saleNumber",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "3b44d6d5-52e9-59bb-90a9-34297b47afc2",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'saleNumber' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.saleNumber = sale.saleNumber",
                                  "specificationLanguage": "OCL"
                                }
                              },
                              {
                                "id": "7cd389b8-20c1-5393-9b9b-0adc3d636856",
                                "name": "title",
                                "variant": "RequestConstraint",
                                "annotations": [
                                  {
                                    "id": "b6c5c1d0-98d7-56b0-867f-df871aea70ab",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How 'title' is populated for this request.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "providerRequest.title = closed.title",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ],
                            "establishments": [
                              {
                                "id": "3919db98-1755-5393-94a0-ae87704fb39b",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "preCondition": "03bb2c9a-2511-5e19-97e6-a2426db72d05",
                                "establishedBy": "a3b8ac1b-89dc-56ad-a9cf-0e3aac0b5977",
                                "byRequest": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                              }
                            ],
                            "instanceKind": "singleInstance",
                            "processingMode": "parallel",
                            "responseVariable": {
                              "id": "fb92dced-b978-59f1-bf8d-40271dc17f62",
                              "name": "collected",
                              "annotations": [
                                {
                                  "id": "193ac22b-33cf-51c4-8349-2c1a83455e0b",
                                  "name": "Description",
                                  "annotations": [],
                                  "formalizationOf": [],
                                  "formalizationSnapshots": [],
                                  "body": "The payment, where one was taken.",
                                  "purpose": "shortDescription",
                                  "language": "en",
                                  "markup": "text_plain"
                                }
                              ],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "invariances": [],
                              "dataType": "67962eb6-72cb-5532-8b9e-c8f864305a18",
                              "multiplicity": "1"
                            },
                            "defaultFlow": {
                              "id": "c335d4bd-14a4-5989-8347-8e41bb8e920b",
                              "name": "default",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "exceptionHandlers": [],
                            "messageHandlers": [],
                            "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                          },
                          {
                            "id": "e062e214-b040-5c69-a89f-aef4d5b952a1",
                            "name": "Was it paid",
                            "variant": "AlternateFlows",
                            "annotations": [
                              {
                                "id": "b969a21e-9143-5505-be55-25c79ef4ec10",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Ship only what was paid for.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "defaultFlow": {
                              "id": "24c60447-1c4b-5af3-b89e-73dafdf970d6",
                              "name": "otherwise",
                              "variant": "ActivitySequence",
                              "annotations": [],
                              "formalizationOf": [],
                              "formalizationSnapshots": [],
                              "activities": []
                            },
                            "conditionalFlows": [
                              {
                                "id": "9d2e2b39-4148-5cdd-96c3-5aca15214bb7",
                                "name": "Paid",
                                "variant": "ConditionalFlow",
                                "annotations": [
                                  {
                                    "id": "18558b5e-2631-58bc-8bda-3fb3d8b72edf",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "The buyer paid in time.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "activities": [
                                  {
                                    "id": "aa5cbe78-96f4-5735-a8db-f6750f536107",
                                    "name": "Pay seller",
                                    "variant": "RequestService",
                                    "annotations": [
                                      {
                                        "id": "88f0f8fb-f268-578d-b3cc-a0fd9ac64e0b",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Pay the seller their share.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "service": "02966bbf-f163-5e96-b621-7895d23ba5ff",
                                    "requestConstraints": [
                                      {
                                        "id": "9d4b3843-a271-5235-b80c-fa3518ea66a2",
                                        "name": "amount",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "68133d04-32ce-5cfa-8122-eb3130402715",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'amount' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.amount = settlement.sellerPayout",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "463c499a-31b3-549d-bf94-58d509490803",
                                        "name": "payee",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "94e1ac1a-d888-5f3f-949b-5c815ff2af91",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'payee' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.payee = seller.payoutAccount",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "6761bfd6-9169-5daa-9d46-f8620b3b48c6",
                                        "name": "reference",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "380bb7a9-b029-5902-8866-acb90490d213",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'reference' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.reference = sale.saleNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "instanceKind": "singleInstance",
                                    "processingMode": "parallel",
                                    "responseVariable": {
                                      "id": "aab8b5e1-0feb-5132-9665-ff716d333387",
                                      "name": "payout",
                                      "annotations": [
                                        {
                                          "id": "d280c56c-364c-5195-8cbe-4bbd3b987dfa",
                                          "name": "Description",
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "body": "The payout made.",
                                          "purpose": "shortDescription",
                                          "language": "en",
                                          "markup": "text_plain"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "invariances": [],
                                      "dataType": "337c5609-a9b8-5b3d-ae57-a8564b4c20e9",
                                      "multiplicity": "1"
                                    },
                                    "defaultFlow": {
                                      "id": "522a14ae-4fb4-5ba5-a026-a58cdd6c01dc",
                                      "name": "default",
                                      "variant": "ActivitySequence",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "activities": []
                                    },
                                    "exceptionHandlers": [],
                                    "messageHandlers": [],
                                    "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                  },
                                  {
                                    "id": "ab1a2e0f-5761-57e0-ac96-ece0757e84be",
                                    "name": "Mark paid out",
                                    "variant": "RequestService",
                                    "annotations": [
                                      {
                                        "id": "49d3691e-56fd-5a47-9c1f-6b626affe930",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Record the payout against the sale.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                                    "requestConstraints": [
                                      {
                                        "id": "50d097d2-3f8d-553d-9135-457c2f76fe1b",
                                        "name": "payoutReference",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "44f4d46a-5207-5d7c-b0b6-b84815687510",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'payoutReference' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.payoutReference = payout.payoutReference",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "d5ac4cbb-c4c6-5bc6-a2b5-73fc077d224d",
                                        "name": "saleNumber",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "ff297e50-7f3e-5283-98a4-21a009147271",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'saleNumber' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.saleNumber = sale.saleNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "044febb4-a4a6-5bc3-8fec-b3a13a9cd1c9",
                                        "name": "status",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "02069aca-26c1-55aa-a968-6da319917502",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'status' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.status = SaleStatus::paid",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "establishments": [
                                      {
                                        "id": "7b2943ab-c3d2-591b-af2d-84b3d56a5af3",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                        "establishedBy": "a3b8ac1b-89dc-56ad-a9cf-0e3aac0b5977",
                                        "byRequest": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                                      }
                                    ],
                                    "instanceKind": "singleInstance",
                                    "processingMode": "parallel",
                                    "defaultFlow": {
                                      "id": "d1d15aa2-862a-5941-a22e-606595f9be58",
                                      "name": "default",
                                      "variant": "ActivitySequence",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "activities": []
                                    },
                                    "exceptionHandlers": [],
                                    "messageHandlers": [],
                                    "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                  },
                                  {
                                    "id": "ccfbe80b-2e9c-5c90-8e2c-b8aaf78dcb78",
                                    "name": "Send receipt",
                                    "variant": "SendMessage",
                                    "annotations": [
                                      {
                                        "id": "aa8f8d77-1676-5b11-b554-4bd904b583cb",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Tell the buyer what they paid.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "dataStructure": "0160e509-55f7-5e43-ad80-19d6a9bb8685",
                                    "distribution": "notification",
                                    "recipient": "caea65eb-ebed-50e7-8104-97ff4bcfa250",
                                    "recipientSelector": "closed.winningBid.bidderLogin",
                                    "messageConstraints": [
                                      {
                                        "id": "bd115f96-6694-523b-8014-259d13e07c3d",
                                        "name": "amountPaid",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "310ca75e-6f50-5954-9d91-ccf45ce9a4ff",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's amountPaid is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.amountPaid = settlement.amountDue",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "45225594-713d-506d-b85a-2b5639974de5",
                                        "name": "paymentReference",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "719f4983-9886-5391-ba10-98b314c46212",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's paymentReference is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.paymentReference = collected.paymentReference",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "fa554965-f0d6-5973-a1f7-04af3f357d5a",
                                        "name": "saleNumber",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "5faf4143-c2fd-51dd-90d5-e8ef3b554138",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's saleNumber is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.saleNumber = sale.saleNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "1fe09294-ea97-564d-9a94-6c3d0f4ee118",
                                        "name": "title",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "96bddaff-cb3b-5b96-aab2-78e146444e81",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's title is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.title = closed.title",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                  },
                                  {
                                    "id": "131dc6f3-8c85-5720-a061-d583f841cf73",
                                    "name": "Provide shipping details",
                                    "variant": "RequestService",
                                    "annotations": [
                                      {
                                        "id": "dc184c21-b80b-51bc-b90a-5022ce861f57",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Ask the seller to ship the item.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "service": "642c1c02-8747-5c35-924a-f7d8fad53729",
                                    "requestConstraints": [
                                      {
                                        "id": "654b5e85-d926-5863-abf8-45137d97c967",
                                        "name": "buyerName",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "c22c1978-ff62-5455-9c7d-95f9011d3f4e",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'buyerName' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.buyerName = buyer.name",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "d907ad55-53cd-5646-9743-94831597ae35",
                                        "name": "paymentReference",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "798101dc-53d0-558e-bc2f-7accba6f0b47",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'paymentReference' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.paymentReference = collected.paymentReference",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "6ce19768-25f2-5b70-b005-1f71d4fdff78",
                                        "name": "saleNumber",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "6e9cb328-2dbe-5c36-b434-b4d3927b09ef",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'saleNumber' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.saleNumber = sale.saleNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "a455e286-ba28-5c5a-bbdf-1ed35f4ac1df",
                                        "name": "sellerLogin",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "8e3f4235-b0c1-5229-992b-4e855168769f",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'sellerLogin' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.sellerLogin = closed.sellerLogin",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "1ac45e5b-49aa-548c-b3f0-0ce691894e52",
                                        "name": "shippingAddress",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "02567bc5-9878-5fd1-bd3e-278adba1c0e2",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'shippingAddress' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.shippingAddress = buyer.shippingAddress",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "8518d901-98cd-5acd-86db-9d36aaca191e",
                                        "name": "title",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "94c7b36a-0450-5ec5-990d-0da36ee985c6",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'title' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.title = closed.title",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "instanceKind": "singleInstance",
                                    "processingMode": "parallel",
                                    "responseVariable": {
                                      "id": "ba8c382d-ca33-51b0-ac82-f9b0e7a24f23",
                                      "name": "shipped",
                                      "annotations": [
                                        {
                                          "id": "e349df5c-5c6e-5655-a61e-caa6163516fe",
                                          "name": "Description",
                                          "annotations": [],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "body": "How the item was shipped.",
                                          "purpose": "shortDescription",
                                          "language": "en",
                                          "markup": "text_plain"
                                        }
                                      ],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "invariances": [],
                                      "dataType": "cbb80138-4f97-5050-b09c-6990e2e73f42",
                                      "multiplicity": "1"
                                    },
                                    "defaultFlow": {
                                      "id": "0bf0e4c9-40f2-56e9-a604-684a3c16bf33",
                                      "name": "default",
                                      "variant": "ActivitySequence",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "activities": []
                                    },
                                    "exceptionHandlers": [],
                                    "messageHandlers": [],
                                    "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                  },
                                  {
                                    "id": "9dac56f7-5707-594f-809d-94fa1d0eeb24",
                                    "name": "Mark shipped",
                                    "variant": "RequestService",
                                    "annotations": [
                                      {
                                        "id": "4086bc38-f696-5996-a1bc-cfc5a4791261",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Record the shipment against the sale.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                                    "requestConstraints": [
                                      {
                                        "id": "88c31935-eb84-5109-9dee-58eb862c7ebf",
                                        "name": "saleNumber",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "4f858229-4aaa-5704-932f-d6dc92193773",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'saleNumber' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.saleNumber = sale.saleNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "06746ed7-ed83-5299-a532-a65eaf4c5120",
                                        "name": "shipment",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "bc2194bd-c53e-5c72-ad33-06556c702880",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'shipment' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.shipment = shipped.shipment",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "2b653249-660c-5231-b20b-ce450f97a394",
                                        "name": "status",
                                        "variant": "RequestConstraint",
                                        "annotations": [
                                          {
                                            "id": "9c83a6e9-54c9-5eba-add2-71192b70cff9",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How 'status' is populated for this request.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "providerRequest.status = SaleStatus::shipped",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "establishments": [
                                      {
                                        "id": "20df01de-8a98-5f51-9032-8f1eda118c91",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                        "establishedBy": "a3b8ac1b-89dc-56ad-a9cf-0e3aac0b5977",
                                        "byRequest": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                                      }
                                    ],
                                    "instanceKind": "singleInstance",
                                    "processingMode": "parallel",
                                    "defaultFlow": {
                                      "id": "826f61a4-21b2-5fc2-b106-82a333a84472",
                                      "name": "default",
                                      "variant": "ActivitySequence",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "activities": []
                                    },
                                    "exceptionHandlers": [],
                                    "messageHandlers": [],
                                    "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                  },
                                  {
                                    "id": "6ae4429a-f9d4-52a2-9bed-68058fc073a6",
                                    "name": "Send tracking details",
                                    "variant": "SendMessage",
                                    "annotations": [
                                      {
                                        "id": "57c22fd2-3ad7-5c4b-b27f-8f2a530efae4",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "Tell the buyer how to follow the consignment.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "dataStructure": "5ecc6df5-50bd-57fd-84e3-46a5db6dd1f6",
                                    "distribution": "notification",
                                    "recipient": "caea65eb-ebed-50e7-8104-97ff4bcfa250",
                                    "recipientSelector": "closed.winningBid.bidderLogin",
                                    "messageConstraints": [
                                      {
                                        "id": "14302ce5-8294-5d45-8362-8eb2951b4597",
                                        "name": "saleNumber",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "e23c0e36-26a9-5a5c-816c-41e1d4aca59b",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's saleNumber is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.saleNumber = sale.saleNumber",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "7f996d32-cf9b-5257-83f0-ba83ba629d78",
                                        "name": "shipment",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "33ef8625-82c4-53f4-ae57-197ca54c5cb4",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's shipment is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.shipment = shipped.shipment",
                                          "specificationLanguage": "OCL"
                                        }
                                      },
                                      {
                                        "id": "e849b33d-9893-57fc-98c3-837bcac07489",
                                        "name": "title",
                                        "variant": "MessageConstraint",
                                        "annotations": [
                                          {
                                            "id": "fc794a07-48ea-59fd-8d75-e2ea7cddf5cc",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "How the message's title is populated.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "formalSpecification": {
                                          "body": "sent.title = closed.title",
                                          "specificationLanguage": "OCL"
                                        }
                                      }
                                    ],
                                    "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                  },
                                  {
                                    "id": "03945a2f-9e51-5d24-a972-e708aac4f8e2",
                                    "name": "Feedback window",
                                    "variant": "MonitoredActivities",
                                    "annotations": [
                                      {
                                        "id": "aaea886a-fe81-549c-b3ad-05edcfa5c199",
                                        "name": "Description",
                                        "annotations": [],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "body": "The buyer has two weeks to confirm receipt.",
                                        "purpose": "shortDescription",
                                        "language": "en",
                                        "markup": "text_plain"
                                      }
                                    ],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "activitySequence": {
                                      "id": "61c53295-015a-545c-8363-8cc4949d4b65",
                                      "name": "body",
                                      "variant": "ActivitySequence",
                                      "annotations": [],
                                      "formalizationOf": [],
                                      "formalizationSnapshots": [],
                                      "activities": [
                                        {
                                          "id": "04656d7f-cf37-5074-a769-16941ee4095a",
                                          "name": "Confirm receipt and rate",
                                          "variant": "RequestService",
                                          "annotations": [
                                            {
                                              "id": "cb3b4ea4-b4a5-5aa0-9479-a311c8b50ff5",
                                              "name": "Description",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "body": "Ask the buyer to confirm receipt, and to rate the seller.",
                                              "purpose": "shortDescription",
                                              "language": "en",
                                              "markup": "text_plain"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "service": "c3bf5b09-5d0f-50f2-b833-4f9354d0b76b",
                                          "requestConstraints": [
                                            {
                                              "id": "a97d3590-e425-5cc6-b40b-725cd75263e3",
                                              "name": "buyerLogin",
                                              "variant": "RequestConstraint",
                                              "annotations": [
                                                {
                                                  "id": "4c794997-9e6e-5832-8349-634d7309d5b9",
                                                  "name": "Description",
                                                  "annotations": [],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "body": "How 'buyerLogin' is populated for this request.",
                                                  "purpose": "shortDescription",
                                                  "language": "en",
                                                  "markup": "text_plain"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "formalSpecification": {
                                                "body": "providerRequest.buyerLogin = closed.winningBid.bidderLogin",
                                                "specificationLanguage": "OCL"
                                              }
                                            },
                                            {
                                              "id": "31f0b4a1-184e-50d9-a74c-8d093f019f41",
                                              "name": "saleNumber",
                                              "variant": "RequestConstraint",
                                              "annotations": [
                                                {
                                                  "id": "126f50d9-737e-5e91-87d3-3b9b35a2a096",
                                                  "name": "Description",
                                                  "annotations": [],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "body": "How 'saleNumber' is populated for this request.",
                                                  "purpose": "shortDescription",
                                                  "language": "en",
                                                  "markup": "text_plain"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "formalSpecification": {
                                                "body": "providerRequest.saleNumber = sale.saleNumber",
                                                "specificationLanguage": "OCL"
                                              }
                                            },
                                            {
                                              "id": "19402058-83d3-5002-ada1-c8f205e610ec",
                                              "name": "shipment",
                                              "variant": "RequestConstraint",
                                              "annotations": [
                                                {
                                                  "id": "b3b11c80-13b4-5ab5-9fc5-64c5e822994a",
                                                  "name": "Description",
                                                  "annotations": [],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "body": "How 'shipment' is populated for this request.",
                                                  "purpose": "shortDescription",
                                                  "language": "en",
                                                  "markup": "text_plain"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "formalSpecification": {
                                                "body": "providerRequest.shipment = shipped.shipment",
                                                "specificationLanguage": "OCL"
                                              }
                                            },
                                            {
                                              "id": "1e372261-0857-5728-b26a-61598656ae7b",
                                              "name": "title",
                                              "variant": "RequestConstraint",
                                              "annotations": [
                                                {
                                                  "id": "9960ce73-1c53-53e7-a2b2-2a084e6b9627",
                                                  "name": "Description",
                                                  "annotations": [],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "body": "How 'title' is populated for this request.",
                                                  "purpose": "shortDescription",
                                                  "language": "en",
                                                  "markup": "text_plain"
                                                }
                                              ],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "formalSpecification": {
                                                "body": "providerRequest.title = closed.title",
                                                "specificationLanguage": "OCL"
                                              }
                                            }
                                          ],
                                          "instanceKind": "singleInstance",
                                          "processingMode": "parallel",
                                          "responseVariable": {
                                            "id": "542509f2-e512-5fbe-9f3f-60e5f081cc37",
                                            "name": "confirmation",
                                            "annotations": [
                                              {
                                                "id": "861e4383-cfb6-56b8-aba6-512d8e0a76d1",
                                                "name": "Description",
                                                "annotations": [],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "body": "What the buyer confirmed.",
                                                "purpose": "shortDescription",
                                                "language": "en",
                                                "markup": "text_plain"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "invariances": [],
                                            "dataType": "6503ab24-c48c-57b2-97d5-0bfaee608ebf",
                                            "multiplicity": "1"
                                          },
                                          "defaultFlow": {
                                            "id": "8008aa34-4dbe-5c6d-a2d5-94b8a6421446",
                                            "name": "default",
                                            "variant": "ActivitySequence",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "activities": [
                                              {
                                                "id": "3717ef94-942e-5dd1-ab50-b2d5094dd280",
                                                "name": "Mark completed",
                                                "variant": "RequestService",
                                                "annotations": [
                                                  {
                                                    "id": "48c1506f-d089-5df7-aaf7-81595c2f7991",
                                                    "name": "Description",
                                                    "annotations": [],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "body": "Record the buyer's rating and complete the sale.",
                                                    "purpose": "shortDescription",
                                                    "language": "en",
                                                    "markup": "text_plain"
                                                  }
                                                ],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                                                "requestConstraints": [
                                                  {
                                                    "id": "8344fa7a-1bd6-5b2c-85fd-a547c63fc4b3",
                                                    "name": "feedback",
                                                    "variant": "RequestConstraint",
                                                    "annotations": [
                                                      {
                                                        "id": "5b56a16f-5887-56b5-a2a6-8403551e3808",
                                                        "name": "Description",
                                                        "annotations": [],
                                                        "formalizationOf": [],
                                                        "formalizationSnapshots": [],
                                                        "body": "How 'feedback' is populated for this request.",
                                                        "purpose": "shortDescription",
                                                        "language": "en",
                                                        "markup": "text_plain"
                                                      }
                                                    ],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "formalSpecification": {
                                                      "body": "providerRequest.feedback = confirmation.feedback",
                                                      "specificationLanguage": "OCL"
                                                    }
                                                  },
                                                  {
                                                    "id": "3b4978b5-6f54-5f3c-9e6e-e0cbdb2d28e5",
                                                    "name": "rating",
                                                    "variant": "RequestConstraint",
                                                    "annotations": [
                                                      {
                                                        "id": "788862bb-8b20-5261-ab67-6d81a3129281",
                                                        "name": "Description",
                                                        "annotations": [],
                                                        "formalizationOf": [],
                                                        "formalizationSnapshots": [],
                                                        "body": "How 'rating' is populated for this request.",
                                                        "purpose": "shortDescription",
                                                        "language": "en",
                                                        "markup": "text_plain"
                                                      }
                                                    ],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "formalSpecification": {
                                                      "body": "providerRequest.rating = confirmation.rating",
                                                      "specificationLanguage": "OCL"
                                                    }
                                                  },
                                                  {
                                                    "id": "477e4541-205f-5f64-916c-9193cacb55e3",
                                                    "name": "saleNumber",
                                                    "variant": "RequestConstraint",
                                                    "annotations": [
                                                      {
                                                        "id": "54096d9d-4ccb-5f23-9f28-387cbc616387",
                                                        "name": "Description",
                                                        "annotations": [],
                                                        "formalizationOf": [],
                                                        "formalizationSnapshots": [],
                                                        "body": "How 'saleNumber' is populated for this request.",
                                                        "purpose": "shortDescription",
                                                        "language": "en",
                                                        "markup": "text_plain"
                                                      }
                                                    ],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "formalSpecification": {
                                                      "body": "providerRequest.saleNumber = sale.saleNumber",
                                                      "specificationLanguage": "OCL"
                                                    }
                                                  },
                                                  {
                                                    "id": "671b86df-d33a-520f-b7a4-1e62eea6e6f7",
                                                    "name": "status",
                                                    "variant": "RequestConstraint",
                                                    "annotations": [
                                                      {
                                                        "id": "813a9449-498a-57fd-8cfa-e352d8e7347f",
                                                        "name": "Description",
                                                        "annotations": [],
                                                        "formalizationOf": [],
                                                        "formalizationSnapshots": [],
                                                        "body": "How 'status' is populated for this request.",
                                                        "purpose": "shortDescription",
                                                        "language": "en",
                                                        "markup": "text_plain"
                                                      }
                                                    ],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "formalSpecification": {
                                                      "body": "providerRequest.status = SaleStatus::completed",
                                                      "specificationLanguage": "OCL"
                                                    }
                                                  }
                                                ],
                                                "establishments": [
                                                  {
                                                    "id": "75289e8f-8359-56d1-8bbb-f7201400b54c",
                                                    "annotations": [],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                                    "establishedBy": "a3b8ac1b-89dc-56ad-a9cf-0e3aac0b5977",
                                                    "byRequest": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                                                  }
                                                ],
                                                "instanceKind": "singleInstance",
                                                "processingMode": "parallel",
                                                "defaultFlow": {
                                                  "id": "0093cf65-8109-5a9a-bfca-02888946ddfd",
                                                  "name": "default",
                                                  "variant": "ActivitySequence",
                                                  "annotations": [],
                                                  "formalizationOf": [],
                                                  "formalizationSnapshots": [],
                                                  "activities": []
                                                },
                                                "exceptionHandlers": [],
                                                "messageHandlers": [],
                                                "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                              }
                                            ]
                                          },
                                          "exceptionHandlers": [],
                                          "messageHandlers": [],
                                          "compensationNotNeeded": "Nothing after this step can refuse: the only later refusal points are the steps updating the sale, whose one pre-condition, that the sale exists, Record sale established and nothing removes."
                                        }
                                      ]
                                    },
                                    "monitors": [
                                      {
                                        "id": "13eae21e-a3c8-5015-8bb2-339d77ef5be8",
                                        "name": "No confirmation",
                                        "variant": "Monitor",
                                        "annotations": [
                                          {
                                            "id": "478b5c37-bc68-5962-8455-0d189d9f1fec",
                                            "name": "Description",
                                            "annotations": [],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "body": "Two weeks pass without a confirmation.",
                                            "purpose": "shortDescription",
                                            "language": "en",
                                            "markup": "text_plain"
                                          }
                                        ],
                                        "formalizationOf": [],
                                        "formalizationSnapshots": [],
                                        "activities": [
                                          {
                                            "id": "274ceace-773b-53d8-8922-d60a62c69b61",
                                            "name": "Mark completed unrated",
                                            "variant": "RequestService",
                                            "annotations": [
                                              {
                                                "id": "8cf79845-4ab4-5574-af24-ea3faaec700e",
                                                "name": "Description",
                                                "annotations": [],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "body": "Complete the sale without a rating.",
                                                "purpose": "shortDescription",
                                                "language": "en",
                                                "markup": "text_plain"
                                              }
                                            ],
                                            "formalizationOf": [],
                                            "formalizationSnapshots": [],
                                            "service": "affb8a26-c189-589a-964a-55c2162a0a32",
                                            "requestConstraints": [
                                              {
                                                "id": "daa26b77-3a79-5079-865b-e1f5bf4bf22d",
                                                "name": "saleNumber",
                                                "variant": "RequestConstraint",
                                                "annotations": [
                                                  {
                                                    "id": "d56b95bc-4d80-5ea6-8a46-fe129abd9480",
                                                    "name": "Description",
                                                    "annotations": [],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "body": "How 'saleNumber' is populated for this request.",
                                                    "purpose": "shortDescription",
                                                    "language": "en",
                                                    "markup": "text_plain"
                                                  }
                                                ],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "formalSpecification": {
                                                  "body": "providerRequest.saleNumber = sale.saleNumber",
                                                  "specificationLanguage": "OCL"
                                                }
                                              },
                                              {
                                                "id": "67ecc8f5-3fcd-55e3-8844-97ef518e081c",
                                                "name": "status",
                                                "variant": "RequestConstraint",
                                                "annotations": [
                                                  {
                                                    "id": "6d3cab29-eea2-5313-bcdb-c02559d82735",
                                                    "name": "Description",
                                                    "annotations": [],
                                                    "formalizationOf": [],
                                                    "formalizationSnapshots": [],
                                                    "body": "How 'status' is populated for this request.",
                                                    "purpose": "shortDescription",
                                                    "language": "en",
                                                    "markup": "text_plain"
                                                  }
                                                ],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "formalSpecification": {
                                                  "body": "providerRequest.status = SaleStatus::completed",
                                                  "specificationLanguage": "OCL"
                                                }
                                              }
                                            ],
                                            "establishments": [
                                              {
                                                "id": "c4cfa5ec-b177-506a-8907-fefcd3a5b592",
                                                "annotations": [],
                                                "formalizationOf": [],
                                                "formalizationSnapshots": [],
                                                "preCondition": "d159d4b1-1414-5705-803c-77d4b99d6685",
                                                "establishedBy": "a3b8ac1b-89dc-56ad-a9cf-0e3aac0b5977",
                                                "byRequest": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                                              }
                                            ],
                                            "instanceKind": "singleInstance",
                                            "processingMode": "parallel",
                                            "defaultFlow": {
                                              "id": "13d2adf9-48b8-57ba-87c7-b9a4c590d61f",
                                              "name": "default",
                                              "variant": "ActivitySequence",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "activities": []
                                            },
                                            "exceptionHandlers": [],
                                            "messageHandlers": []
                                          }
                                        ],
                                        "trigger": {
                                          "id": "a733c012-4586-5f36-9ede-f605790daf8b",
                                          "name": "Two weeks to confirm",
                                          "isEvent": true,
                                          "variant": "DurationEvent",
                                          "annotations": [
                                            {
                                              "id": "1fd97177-0dc4-51fb-b3aa-1859c5ee2ad1",
                                              "name": "Description",
                                              "annotations": [],
                                              "formalizationOf": [],
                                              "formalizationSnapshots": [],
                                              "body": "The confirmation deadline, from the shipment.",
                                              "purpose": "shortDescription",
                                              "language": "en",
                                              "markup": "text_plain"
                                            }
                                          ],
                                          "formalizationOf": [],
                                          "formalizationSnapshots": [],
                                          "duration": "P14D",
                                          "deploymentOverridable": true
                                        },
                                        "interrupting": true
                                      }
                                    ]
                                  }
                                ],
                                "formalSpecification": {
                                  "body": "collected.paymentReference->notEmpty()",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ]
                          },
                          {
                            "id": "d395f537-3b31-51e2-b412-977ed124db7a",
                            "name": "Report the sale",
                            "variant": "PopulateResponse",
                            "annotations": [
                              {
                                "id": "10ad3239-6f9a-53a9-9f8b-6fa8f3a77144",
                                "name": "Description",
                                "annotations": [],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "body": "Answer with the sale's number.",
                                "purpose": "shortDescription",
                                "language": "en",
                                "markup": "text_plain"
                              }
                            ],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "responseConstraints": [
                              {
                                "id": "c3f798b3-295c-5222-8d21-114656c80ab3",
                                "name": "saleNumber",
                                "variant": "ResponseConstraint",
                                "annotations": [
                                  {
                                    "id": "21fa6a06-2031-58e6-b5ab-6ff6409518d6",
                                    "name": "Description",
                                    "annotations": [],
                                    "formalizationOf": [],
                                    "formalizationSnapshots": [],
                                    "body": "How the response's saleNumber is populated.",
                                    "purpose": "shortDescription",
                                    "language": "en",
                                    "markup": "text_plain"
                                  }
                                ],
                                "formalizationOf": [],
                                "formalizationSnapshots": [],
                                "formalSpecification": {
                                  "body": "response.saleNumber = sale.saleNumber",
                                  "specificationLanguage": "OCL"
                                }
                              }
                            ]
                          }
                        ],
                        "formalSpecification": {
                          "body": "closed.winningBid->notEmpty()",
                          "specificationLanguage": "OCL"
                        }
                      }
                    ]
                  }
                ],
                "serviceContract": "ca8dc62d-a774-53bb-b5e5-3102c4a7615a",
                "requirementAllocations": [
                  {
                    "id": "f17c4bc9-5229-5d9e-8acd-5b0b0ec26c65",
                    "name": "Auction closed ← Close listing",
                    "annotations": [
                      {
                        "id": "4bc18f85-b3c9-57c9-87a6-8b86585a92ce",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Close listing' is the step that discharges 'Auction closed'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "ee2c5d98-e824-58fe-b32e-204d594fbe7a",
                    "addressedBy": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9",
                    "refinements": [
                      {
                        "id": "53c953f9-0caf-5fb2-a526-83554d5e1398",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "7e70d046-efa9-51be-8d71-130e13d15e4b",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Close listing' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  },
                  {
                    "id": "ac4e4428-a1d9-5df0-bf5d-14da68a8ccc7",
                    "name": "Buyer kept informed ← Was it paid",
                    "annotations": [
                      {
                        "id": "e8eccb50-1123-51bb-89c9-84d8aadd8461",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Was it paid' is the step that discharges 'Buyer kept informed'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "3e7ed1d1-78fd-513d-9187-950d0997dac0",
                    "addressedBy": "e062e214-b040-5c69-a89f-aef4d5b952a1"
                  },
                  {
                    "id": "e37621e6-5e0a-57a3-9ea5-db42e7f5a27c",
                    "name": "Highest bidder can buy ← Record sale",
                    "annotations": [
                      {
                        "id": "3d169278-14c7-50e6-8c1f-133010db1250",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record sale' is the step that discharges 'Highest bidder can buy'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "0ab05781-8868-59a4-a88b-ab3dc2d366e6",
                    "addressedBy": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c",
                    "refinements": [
                      {
                        "id": "b430ec50-24c0-5dcd-a0ef-815f310e700c",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "f29eaee1-aa9f-5eff-9967-fcfaee6c2d86",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Record sale' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  },
                  {
                    "id": "18b76d50-44b2-5038-80c5-a6d6f7799ef4",
                    "name": "Listing ready to close ← Close listing",
                    "annotations": [
                      {
                        "id": "4af758ee-d0db-554a-a7d7-1f1820d39f0d",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Close listing' is the step that discharges 'Listing ready to close'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "3087d876-64d3-5b7f-b4ba-e499f7efbedd",
                    "addressedBy": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9",
                    "refinements": [
                      {
                        "id": "4d0d9e8f-511f-59ce-b48f-58a3c6d19458",
                        "name": "all",
                        "annotations": [
                          {
                            "id": "8656a2e2-89fc-544a-9c42-1259db99184a",
                            "name": "Description",
                            "annotations": [],
                            "formalizationOf": [],
                            "formalizationSnapshots": [],
                            "body": "Refined by every condition of 'Close listing' of the same kind.",
                            "purpose": "shortDescription",
                            "language": "en",
                            "markup": "text_plain"
                          }
                        ],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "request": "0a0705a3-6bf1-5964-9d09-b90d9ea41da9",
                        "condition": "",
                        "allConditions": true
                      }
                    ]
                  },
                  {
                    "id": "9bb6fa02-cd8b-5c94-b68b-6ffabc777e90",
                    "name": "Paid and paid out ← Pay seller",
                    "annotations": [
                      {
                        "id": "7ac37501-421c-57f6-a861-3310f22ce469",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Pay seller' is the step that discharges 'Paid and paid out'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "36156374-9b86-5ab0-839b-222918bb1fc9",
                    "addressedBy": "aa5cbe78-96f4-5735-a8db-f6750f536107"
                  },
                  {
                    "id": "789149f7-1cd2-586d-bfdf-f1f0ba6ee287",
                    "name": "Sale completed ← Feedback window",
                    "annotations": [
                      {
                        "id": "1b131e76-9403-5237-bc9a-c46d07d6cfc8",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Feedback window' is the step that discharges 'Sale completed'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "275d950d-8a5a-5825-811d-bc14fa79bfb4",
                    "addressedBy": "03945a2f-9e51-5d24-a972-e708aac4f8e2"
                  },
                  {
                    "id": "2312dcbf-d2d1-550c-b77d-9e1248841d1b",
                    "name": "Sold to the highest bidder ← Record sale",
                    "annotations": [
                      {
                        "id": "a8bc755a-1433-5dba-b9b2-98b0c055f92d",
                        "name": "Description",
                        "annotations": [],
                        "formalizationOf": [],
                        "formalizationSnapshots": [],
                        "body": "'Record sale' is the step that discharges 'Sold to the highest bidder'.",
                        "purpose": "shortDescription",
                        "language": "en",
                        "markup": "text_plain"
                      }
                    ],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "toAddress": "a3cc652f-533a-5299-9504-4c00c8716e16",
                    "addressedBy": "7ac27ef6-dfac-53d7-ac7c-bfb82fd4ae1c"
                  }
                ],
                "unplacedActivities": {
                  "id": "3057bde0-0a63-574f-99ad-1045a873f755-unplaced",
                  "name": "unplaced",
                  "variant": "ActivitySequence",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "activities": []
                }
              }
            ],
            "exceptions": []
          }
        ],
        "serviceContracts": [],
        "dataTypes": [],
        "entities": [],
        "processes": [],
        "exceptions": []
      },
      {
        "id": "2537518f-1b7d-5d88-bd6b-38db7e99c1b7",
        "name": "Bank",
        "annotations": [
          {
            "id": "b2d56cdb-a874-5632-bad1-0cfa02470e57",
            "name": "Description",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "The bank that pays sellers.",
            "purpose": "shortDescription",
            "language": "en",
            "markup": "text_plain"
          },
          {
            "id": "88309ae9-7c8a-58d4-9c12-b201ab83a852",
            "name": "Details",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "An external system. Stubbed in the execution environment.",
            "purpose": "detailedDescription",
            "language": "en",
            "markup": "text_markdown"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "responsibilityDomains": [],
        "serviceContracts": [
          {
            "id": "02966bbf-f163-5e96-b621-7895d23ba5ff",
            "name": "Pay seller",
            "annotations": [
              {
                "id": "b16d5162-95fe-53b4-9887-e8df3f3d34f8",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "Pays an amount into a seller's account.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "isQuery": false,
            "requestDataStructure": {
              "id": "3bebf588-63a1-5c9f-874f-a7ce5396b7df",
              "name": "Request",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "deffcb10-f314-5e29-b5dc-97829c8b3cec",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What is supplied when requesting 'Pay seller'.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [],
              "abstract": false,
              "fields": [
                {
                  "id": "df175c80-7715-5c7e-986d-0a934cb099ee",
                  "name": "amount",
                  "annotations": [
                    {
                      "id": "d3222bc5-038d-5e48-8d55-eb78fc06b309",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What to pay.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "dbb488c4-e987-5f17-bd32-bed2d8549b0c",
                  "name": "payee",
                  "annotations": [
                    {
                      "id": "7e74718a-a88e-5694-b59c-d5db27efa9b2",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The seller's account.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "0f1b7372-0050-4692-9a39-8599e2707a5f",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "5b8cd63e-dc27-5a8e-b9c1-57af4e4b90f0",
                  "name": "reference",
                  "annotations": [
                    {
                      "id": "7507ad43-6efd-5b50-a171-27daa07daf4c",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The sale paid out for.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "responseDataStructure": {
              "id": "337c5609-a9b8-5b3d-ae57-a8564b4c20e9",
              "name": "Response",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "002d40d0-db15-5bce-9adc-44c3b85711b2",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What 'Pay seller' answers with.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [
                {
                  "id": "725bf396-134f-5208-ab17-259740d592fd",
                  "name": "Payout referenced",
                  "isInvariance": true,
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "formalSpecification": {
                    "body": "self.payoutReference.size() > 0",
                    "specificationLanguage": "OCL"
                  },
                  "requiredBy": []
                }
              ],
              "abstract": false,
              "fields": [
                {
                  "id": "2f08c297-ec81-5071-afe0-ca13ce529d8a",
                  "name": "payoutReference",
                  "annotations": [
                    {
                      "id": "18f303fc-0c6e-5cc7-b9f5-a9a256130ff9",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The bank's reference for the payment.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "preConditions": [],
            "waivedPreConditions": [],
            "postConditions": [
              {
                "id": "d7aa7104-9863-57e0-9e97-e104b79d2256",
                "name": "Seller paid",
                "isPostCondition": true,
                "annotations": [
                  {
                    "id": "12cc41b8-e267-50c0-a07a-f54026a65c5a",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The amount is paid into the payee's account, under the reference answered.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "5cfb8007-4664-5a99-a7dc-1a76d11b6626",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "In prose: the bank does it, and nothing in the model can observe it.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "requiredBy": [
                  "caea65eb-ebed-50e7-8104-97ff4bcfa250"
                ],
                "messageSendEvents": []
              }
            ],
            "provisionalStakeholders": [],
            "publishedTo": [
              "d1301897-a01a-5597-8906-ce80df5e57b2"
            ]
          }
        ],
        "dataTypes": [],
        "entities": [],
        "processes": [],
        "exceptions": []
      },
      {
        "id": "caea65eb-ebed-50e7-8104-97ff4bcfa250",
        "name": "Member",
        "annotations": [
          {
            "id": "914ee3d8-f1eb-59b5-aa49-7a34e08e1d28",
            "name": "Description",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "A person registered with the auctioneer, who lists items, bids, pays, ships and confirms.",
            "purpose": "shortDescription",
            "language": "en",
            "markup": "text_plain"
          },
          {
            "id": "a9d7ad38-f53a-55ed-b58b-605e91d0928a",
            "name": "Details",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "A **role**: anyone a member's login identifies plays it. The tasks of a sale are offered to the one member they are for, the buyer or the seller, by a `respondent` pre-condition.",
            "purpose": "detailedDescription",
            "language": "en",
            "markup": "text_markdown"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "responsibilityDomains": [],
        "serviceContracts": [
          {
            "id": "c3bf5b09-5d0f-50f2-b833-4f9354d0b76b",
            "name": "Confirm receipt and rate",
            "annotations": [
              {
                "id": "8b02c47d-bbc0-5185-9d5b-08a6e147f099",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "The buyer confirms the item arrived, and may rate the seller.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              },
              {
                "id": "d7edc530-23c6-5128-9712-d5241c55fb65",
                "name": "Details",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "A task offered to the buyer alone.",
                "purpose": "detailedDescription",
                "language": "en",
                "markup": "text_markdown"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "isQuery": false,
            "requestDataStructure": {
              "id": "80ac56d5-26e9-55fc-bef4-2e2e49c4a350",
              "name": "Request",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "a96e5e34-1201-5dd1-bd7f-007099281c0f",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What is supplied when requesting 'Confirm receipt and rate'.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [],
              "abstract": false,
              "fields": [
                {
                  "id": "cb3b3599-b4ca-5c06-bd82-b08b57d70f2d",
                  "name": "buyerLogin",
                  "annotations": [
                    {
                      "id": "238afb8b-b41c-54c6-abbe-52ec4059faf3",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Who confirms, by their login.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "baf51b27-f7b7-547e-a517-c39fdfbc2df2",
                  "name": "saleNumber",
                  "annotations": [
                    {
                      "id": "ea15d5b3-e79e-5054-9351-576a70ab3060",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The sale.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "80f0308e-046d-576e-ad0d-8d72eec3eee4",
                  "name": "shipment",
                  "annotations": [
                    {
                      "id": "08b20fc8-8b87-5aa7-aa85-e0637568fada",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "How it was shipped.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "eb2a9283-ba60-4782-b9e9-ae9d2e7203c6",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "7f32c61e-c774-5b20-8497-53096324a133",
                  "name": "title",
                  "annotations": [
                    {
                      "id": "76afd3ef-b7e2-5f3a-960b-c8dead67df5d",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The item bought.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "responseDataStructure": {
              "id": "6503ab24-c48c-57b2-97d5-0bfaee608ebf",
              "name": "Response",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "bc8f953d-c6b5-592f-86e3-1029e27d9fb7",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What 'Confirm receipt and rate' answers with.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [
                {
                  "id": "35aa2a3c-87a9-5d51-8b63-36599fd8be95",
                  "name": "Feedback comes with a rating",
                  "isInvariance": true,
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "formalSpecification": {
                    "body": "self.feedback->notEmpty() implies self.rating->notEmpty()",
                    "specificationLanguage": "OCL"
                  },
                  "requiredBy": []
                }
              ],
              "abstract": false,
              "fields": [
                {
                  "id": "c7461709-2571-5865-9365-365859a34a53",
                  "name": "feedback",
                  "annotations": [
                    {
                      "id": "fcfa98a5-f7d8-5c7f-8cc8-393c671dafb3",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Their words about the sale.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "0..1"
                },
                {
                  "id": "64802c5c-df18-569d-a733-4557182cebee",
                  "name": "rating",
                  "annotations": [
                    {
                      "id": "01f7eb5e-d97f-54b0-973d-301a783b1577",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Their rating of the seller.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "66bb19e4-c5a0-4332-bcc0-9fde917fafa2",
                  "relationship": "composition",
                  "multiplicity": "0..1"
                }
              ]
            },
            "preConditions": [
              {
                "id": "c5429eff-5d9f-5f58-ae0c-fd56a6d95f15",
                "name": "Answered by the buyer",
                "annotations": [
                  {
                    "id": "ba825fea-dcd9-52e6-acf9-aa38b027b8d8",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Only the buyer confirms what they received.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "formalSpecification": {
                  "body": "respondent = request.buyerLogin",
                  "specificationLanguage": "OCL"
                },
                "requiredBy": [
                  "d1301897-a01a-5597-8906-ce80df5e57b2"
                ],
                "raisedException": {
                  "id": "6457671b-f868-5ab0-aa03-eb17d20d75a9",
                  "name": "Answered by the buyer not met",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "ec8caf0d-bf75-5bb2-a09e-8cec19e193a0",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Raised when 'Confirm receipt and rate' is requested while 'Answered by the buyer' does not hold.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "exceptionConstraints": []
              }
            ],
            "waivedPreConditions": [],
            "postConditions": [],
            "provisionalStakeholders": [],
            "publishedTo": [
              "d1301897-a01a-5597-8906-ce80df5e57b2"
            ]
          },
          {
            "id": "b6e2eada-87eb-57b2-a5bc-8b157a013d95",
            "name": "Pay for item",
            "annotations": [
              {
                "id": "66f4c1fb-8474-5950-91d9-fdfca4fdd942",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "The buyer pays for what they won.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              },
              {
                "id": "ef540567-1d8a-5bea-841a-11de022a038d",
                "name": "Details",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "A task offered to the buyer alone: `respondent` is compared with the buyer's login.",
                "purpose": "detailedDescription",
                "language": "en",
                "markup": "text_markdown"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "isQuery": false,
            "requestDataStructure": {
              "id": "dc4377a8-b63d-5da2-9f91-1402ff1f0814",
              "name": "Request",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "ee22be1d-b544-51e1-b3d7-9b660b337ed6",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What is supplied when requesting 'Pay for item'.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [],
              "abstract": false,
              "fields": [
                {
                  "id": "10db68ae-9513-5946-9734-8be921415307",
                  "name": "amountDue",
                  "annotations": [
                    {
                      "id": "d3a05c22-d414-5498-99c1-fc40d5b8d59d",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What to pay: the price and the shipping cost.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "27edeb5e-2357-55fa-8d06-423d19901881",
                  "name": "buyerLogin",
                  "annotations": [
                    {
                      "id": "15d4a651-275e-5238-8a9a-c5d870857225",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Who is to pay, by their login.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "6dec7d4a-cbf1-5a56-9920-84d16d8b35a4",
                  "name": "saleNumber",
                  "annotations": [
                    {
                      "id": "b6985a81-e36c-5f24-9640-c502baab4b3e",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The sale to pay for.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "fef07ea0-b1e2-54ac-8ac4-8e65ad28b3e4",
                  "name": "title",
                  "annotations": [
                    {
                      "id": "b18be6c5-1543-56d0-a2c0-685a97b49353",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The item bought.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "responseDataStructure": {
              "id": "d643cced-820d-5e66-a4c4-68dffbf963e5",
              "name": "Response",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "24f242a3-4dd2-54be-9c2d-a6d8ec18b2e5",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What 'Pay for item' answers with.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [
                {
                  "id": "ddf7d1a0-eb6d-5f8b-af12-afa09e8d7da3",
                  "name": "Payment details given",
                  "isInvariance": true,
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "formalSpecification": {
                    "body": "self.paymentToken.size() > 0",
                    "specificationLanguage": "OCL"
                  },
                  "requiredBy": []
                }
              ],
              "abstract": false,
              "fields": [
                {
                  "id": "76285e81-a59e-5015-817a-6af2c982f30f",
                  "name": "paymentToken",
                  "annotations": [
                    {
                      "id": "64099a65-2bba-5e2a-bcf6-fc1056d16b62",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The payment gateway's token for the buyer's card or account.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "preConditions": [
              {
                "id": "58092f01-b273-54b2-bd8c-7d41942e6830",
                "name": "Answered by the buyer",
                "annotations": [
                  {
                    "id": "f2012ce1-1057-521c-b396-4011e4736430",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Only the buyer pays.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "formalSpecification": {
                  "body": "respondent = request.buyerLogin",
                  "specificationLanguage": "OCL"
                },
                "requiredBy": [
                  "d1301897-a01a-5597-8906-ce80df5e57b2"
                ],
                "raisedException": {
                  "id": "c7fd79ec-8e91-50dd-b098-4bbfe9fce81f",
                  "name": "Answered by the buyer not met",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "beb8f94b-3e51-5920-b51d-c646d65b1e19",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Raised when 'Pay for item' is requested while 'Answered by the buyer' does not hold.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "exceptionConstraints": []
              }
            ],
            "waivedPreConditions": [],
            "postConditions": [],
            "provisionalStakeholders": [],
            "publishedTo": [
              "d1301897-a01a-5597-8906-ce80df5e57b2"
            ]
          },
          {
            "id": "642c1c02-8747-5c35-924a-f7d8fad53729",
            "name": "Provide shipping details",
            "annotations": [
              {
                "id": "17a7c7dd-6ee0-5765-9ef8-c5cba7a8fb94",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "The seller ships the item and says how.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              },
              {
                "id": "dd5e1114-1c11-56a0-baec-af008a130ac2",
                "name": "Details",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "A task offered to the seller, told the sale and that it has been paid for. A supervisor of the task's domain may answer on the seller's behalf.",
                "purpose": "detailedDescription",
                "language": "en",
                "markup": "text_markdown"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "isQuery": false,
            "answerableOnBehalf": true,
            "requestDataStructure": {
              "id": "ffd6eaf7-3bec-52da-8c4b-7da00dde1fbe",
              "name": "Request",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "8a419c02-4c83-5503-90df-197e8350aaa8",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What is supplied when requesting 'Provide shipping details'.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [],
              "abstract": false,
              "fields": [
                {
                  "id": "b9d26519-95d4-5b2f-9fb5-40f8d3868726",
                  "name": "buyerName",
                  "annotations": [
                    {
                      "id": "d9bbe41c-7d30-524a-8882-403fee80fff3",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Who to ship to.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "bc7cf5ca-3d38-585d-beca-d54739f0de15",
                  "name": "paymentReference",
                  "annotations": [
                    {
                      "id": "9e904db1-e25e-56b5-bc9a-54eecc669ba5",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The buyer's payment: the confirmation that it has been paid for.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "975e7ff0-c681-5cfd-90ac-5fe2f6e3d2ed",
                  "name": "saleNumber",
                  "annotations": [
                    {
                      "id": "dbec1f85-5f85-5c57-98aa-abea67adc93e",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The sale to ship.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "9f27efdc-dadf-51cb-815c-51e1b8daa14b",
                  "name": "sellerLogin",
                  "annotations": [
                    {
                      "id": "6344220c-c5c1-5dac-adec-8373c36cc63e",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Who ships, by their login.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "cda069b7-3c91-41e4-aeb9-e46188e06402",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "4e329445-7f3b-5209-bc79-3faa41d51597",
                  "name": "shippingAddress",
                  "annotations": [
                    {
                      "id": "4ab98bc9-f221-5b89-bffc-cc495a2e82c1",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Where to ship to.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "1b968293-9a93-5f66-8124-e004e62b622d",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "527f85c5-9d75-52f1-8177-d51a67c3dd7e",
                  "name": "title",
                  "annotations": [
                    {
                      "id": "f959b67a-4990-52c9-b868-1fe3598c6e40",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The item sold.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "responseDataStructure": {
              "id": "cbb80138-4f97-5050-b09c-6990e2e73f42",
              "name": "Response",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "723e69b1-7ece-584a-8ffe-c54fb4d7cfc7",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What 'Provide shipping details' answers with.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [
                {
                  "id": "1f213a5b-aca6-5d37-be38-595bec5db63e",
                  "name": "Tracking number given",
                  "isInvariance": true,
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "formalSpecification": {
                    "body": "self.shipment.trackingNumber.size() > 0",
                    "specificationLanguage": "OCL"
                  },
                  "requiredBy": []
                }
              ],
              "abstract": false,
              "fields": [
                {
                  "id": "4b3c890b-1f74-57eb-a524-d5a27a3d6131",
                  "name": "shipment",
                  "annotations": [
                    {
                      "id": "e4f3f9ee-006d-5d75-9a35-9ca8be5752fe",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The carrier and the tracking number.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "eb2a9283-ba60-4782-b9e9-ae9d2e7203c6",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "preConditions": [
              {
                "id": "e9d300d2-bb63-5567-a6e5-6d8b15ed7da1",
                "name": "Answered by the seller",
                "annotations": [
                  {
                    "id": "23ad4895-8a23-5444-9d96-b3750ac4b85d",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "Only the seller, or someone acting for them, says how the item was shipped.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "formalSpecification": {
                  "body": "respondent = request.sellerLogin",
                  "specificationLanguage": "OCL"
                },
                "requiredBy": [
                  "d1301897-a01a-5597-8906-ce80df5e57b2"
                ],
                "raisedException": {
                  "id": "1b98e773-0f2c-5915-81b4-517f717c73f0",
                  "name": "Answered by the seller not met",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "863f1ed5-c95a-5493-8b64-d0fa51c5028b",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Raised when 'Provide shipping details' is requested while 'Answered by the seller' does not hold.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "exceptionConstraints": []
              }
            ],
            "waivedPreConditions": [],
            "postConditions": [],
            "provisionalStakeholders": [],
            "publishedTo": [
              "d1301897-a01a-5597-8906-ce80df5e57b2"
            ]
          }
        ],
        "dataTypes": [],
        "entities": [],
        "processes": [],
        "exceptions": []
      },
      {
        "id": "2b42ca24-db37-5e1e-a8a5-ec64af68b0dc",
        "name": "Payment Gateway",
        "annotations": [
          {
            "id": "d77263f4-cf3c-566d-a279-5233dd410e86",
            "name": "Description",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "The card processor that charges buyers.",
            "purpose": "shortDescription",
            "language": "en",
            "markup": "text_plain"
          },
          {
            "id": "db412182-6b03-5344-9169-5567aa7b6923",
            "name": "Details",
            "annotations": [],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "body": "An external system. Stubbed in the execution environment.",
            "purpose": "detailedDescription",
            "language": "en",
            "markup": "text_markdown"
          }
        ],
        "formalizationOf": [],
        "formalizationSnapshots": [],
        "responsibilityDomains": [],
        "serviceContracts": [
          {
            "id": "8211f3c3-fe6e-5e4f-8ca9-e46d59cb70d8",
            "name": "Charge payment",
            "annotations": [
              {
                "id": "56a028fa-c613-5754-b50c-c5ee8242d833",
                "name": "Description",
                "annotations": [],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "body": "Charges the buyer's card or account.",
                "purpose": "shortDescription",
                "language": "en",
                "markup": "text_plain"
              }
            ],
            "formalizationOf": [],
            "formalizationSnapshots": [],
            "isQuery": false,
            "requestDataStructure": {
              "id": "d973abdb-5ace-5c1f-acb9-55b2e4bbd818",
              "name": "Request",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "e7d486b3-dbcd-5661-b8d6-497639a8476f",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What is supplied when requesting 'Charge payment'.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [],
              "abstract": false,
              "fields": [
                {
                  "id": "1a4f6080-8e09-5c2b-b04f-45b4adec5b87",
                  "name": "amount",
                  "annotations": [
                    {
                      "id": "9f81562c-9d44-574b-81ae-7680569037ac",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "What to charge.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "b71e3c58-0a4d-4f92-8c67-15d0e8b3a726",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "dca5c255-40d2-5c26-9f28-db442d2284c8",
                  "name": "paymentToken",
                  "annotations": [
                    {
                      "id": "7d4e75ef-0e29-583b-b079-1c55fabc2596",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The buyer's token.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "92750a55-04da-4054-97a0-a74af66b0566",
                  "relationship": "composition",
                  "multiplicity": "1"
                },
                {
                  "id": "d9b02e99-cd56-5e7c-b353-f5f8e56ed5dd",
                  "name": "reference",
                  "annotations": [
                    {
                      "id": "da03737a-a07c-5ed6-9102-3bdee8c2efbe",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The sale charged for.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "0ab5406d-2327-56ad-887d-3d8d9f745071",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "responseDataStructure": {
              "id": "4baa6c11-612f-5506-a563-c218c0390fa9",
              "name": "Response",
              "variant": "DataStructure",
              "annotations": [
                {
                  "id": "061d402d-64d2-54b1-b7c9-c9fcd65b65d2",
                  "name": "Description",
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "body": "What 'Charge payment' answers with.",
                  "purpose": "shortDescription",
                  "language": "en",
                  "markup": "text_plain"
                }
              ],
              "formalizationOf": [],
              "formalizationSnapshots": [],
              "invariances": [
                {
                  "id": "1da9b966-601f-520f-af21-94c0749ab6fd",
                  "name": "Payment referenced",
                  "isInvariance": true,
                  "annotations": [],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "formalSpecification": {
                    "body": "self.paymentReference.size() > 0",
                    "specificationLanguage": "OCL"
                  },
                  "requiredBy": []
                }
              ],
              "abstract": false,
              "fields": [
                {
                  "id": "ad408d91-8125-55ee-9991-384d55cd25e7",
                  "name": "paymentReference",
                  "annotations": [
                    {
                      "id": "54d84bc8-fc24-53dd-b102-9e9b246c0a4b",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "The gateway's reference for the payment.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "dataType": "18a385ba-d27a-4abc-bb1a-c894656e36b4",
                  "relationship": "composition",
                  "multiplicity": "1"
                }
              ]
            },
            "preConditions": [
              {
                "id": "272f219c-17ef-5c41-8a49-e45ab0978791",
                "name": "Payment authorised",
                "annotations": [
                  {
                    "id": "7062675b-51dc-5d73-af62-3235a5c16b81",
                    "name": "Description",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "The card or account behind the token covers the amount.",
                    "purpose": "shortDescription",
                    "language": "en",
                    "markup": "text_plain"
                  },
                  {
                    "id": "3c7fc7eb-c121-5558-b922-3c3aa85d1c3d",
                    "name": "Details",
                    "annotations": [],
                    "formalizationOf": [],
                    "formalizationSnapshots": [],
                    "body": "In prose: the gateway decides it, and nothing in the model can.",
                    "purpose": "detailedDescription",
                    "language": "en",
                    "markup": "text_markdown"
                  }
                ],
                "formalizationOf": [],
                "formalizationSnapshots": [],
                "requiredBy": [
                  "2b42ca24-db37-5e1e-a8a5-ec64af68b0dc"
                ],
                "raisedException": {
                  "id": "79b31b3a-6384-5f67-bafa-ece83f01b21f",
                  "name": "Payment authorised not met",
                  "variant": "DataStructure",
                  "annotations": [
                    {
                      "id": "4076ed0e-0728-5540-964b-38bee8ba15a4",
                      "name": "Description",
                      "annotations": [],
                      "formalizationOf": [],
                      "formalizationSnapshots": [],
                      "body": "Raised when 'Charge payment' is requested while 'Payment authorised' does not hold.",
                      "purpose": "shortDescription",
                      "language": "en",
                      "markup": "text_plain"
                    }
                  ],
                  "formalizationOf": [],
                  "formalizationSnapshots": [],
                  "invariances": [],
                  "abstract": false,
                  "fields": []
                },
                "exceptionConstraints": []
              }
            ],
            "waivedPreConditions": [],
            "postConditions": [],
            "provisionalStakeholders": [],
            "publishedTo": [
              "d1301897-a01a-5597-8906-ce80df5e57b2"
            ]
          }
        ],
        "dataTypes": [],
        "entities": [],
        "processes": [],
        "exceptions": []
      }
    ]
  },
  "libraries": {
    "libraries": [
      {
        "name": "CommerceLib",
        "ref": "v1.0.0",
        "commit": "0000000000000000000000000000000000000000",
        "direct": true,
        "kind": "library"
      },
      {
        "name": "FinanceLib",
        "ref": "v1.1.0",
        "commit": "8cb5d88c54633d2d53d5c00ed83f33b736f25d4a",
        "direct": true,
        "kind": "library"
      },
      {
        "name": "StandardLib",
        "ref": "v1.2.0",
        "commit": "ec8105eb9682b2d8375cd9039abe212ee78476bb",
        "direct": true,
        "requiredBy": [
          "CommerceLib",
          "FinanceLib"
        ],
        "kind": "library"
      }
    ]
  }
}
