{
  "$id": "https://schema.nfh.global/FulfillmentAgent/v2.0",
  "x-iri": "https://schema.nfh.global/FulfillmentAgent/v2.0",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "The entity directly involved in fulfilling the order. It could be a person, an organization, a machine, a software application, or an AI Agent.",
  "title": "FulfillmentAgent",
  "allOf": [
    {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "agentAttributes": {
          "description": "Attribute Pack reference for richer identity: # agent/identity.v1 (contact details: email, phone, address) # agent/org-ids.v1 (LEI, GSTIN, ISIN, CUSIP…) # consumer/kyc.v1 (jurisdictional compliance fields) # (accessibility needs, etc.) ",
          "$ref": "https://schema.nfh.global/Attributes/v2.0/schema.json"
        }
      },
      "required": []
    },
    {
      "oneOf": [
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "person": {
              "$ref": "https://schema.nfh.global/Person/v2.0/schema.json"
            }
          },
          "required": [
            "person"
          ]
        },
        {
          "type": "object",
          "additionalProperties": false,
          "properties": {
            "organization": {
              "$ref": "https://schema.nfh.global/Organization/v2.0/schema.json"
            }
          },
          "required": [
            "organization"
          ]
        }
      ]
    }
  ],
  "x-tags": [
    "common"
  ]
}
