{
  "@context": {
    "av": "https://affvector.com/ns#",
    "rec": "https://affvector.com/ocom/records/",
    "schema": "https://schema.org/",
    "name": "schema:name",
    "description": "schema:description",
    "identifier": "schema:identifier",
    "inLanguage": "schema:inLanguage",
    "url": {
      "@id": "schema:url",
      "@type": "@id"
    },
    "record": {
      "@id": "schema:subjectOf",
      "@type": "@id"
    },
    "isPartOf": {
      "@id": "schema:isPartOf",
      "@type": "@id"
    },
    "encoding": "schema:encoding",
    "contentUrl": {
      "@id": "schema:contentUrl",
      "@type": "@id"
    },
    "encodingFormat": "schema:encodingFormat",
    "status": "av:status",
    "assurance": "av:assurance",
    "ownedBy": {
      "@id": "av:ownedBy",
      "@type": "@id"
    },
    "ocomTerm": "av:ocomTerm",
    "domain": "av:domain",
    "nameByLanguage": {
      "@id": "schema:name",
      "@container": "@language"
    },
    "descriptionByLanguage": {
      "@id": "schema:description",
      "@container": "@language"
    },
    "page": {
      "@id": "schema:mainEntityOfPage",
      "@container": "@language",
      "@type": "@id"
    },
    "termUrl": {
      "@id": "av:ocomTermUrl",
      "@type": "@id"
    },
    "relationship": "av:relationship",
    "type": "av:relationshipType",
    "target": {
      "@id": "av:relationshipTarget",
      "@type": "@id"
    },
    "targetNote": "av:relationshipTargetNote"
  },
  "@id": "https://affvector.com/ns#",
  "name": "AffVector operating-record namespace",
  "description": "Terms AffVector uses to describe its own objects. These are an extension, not part of OCOM. Every type below states which OCOM core terms it realises through the ocomTerm property; the OCOM core vocabulary itself is never extended or redefined here.",
  "specification": "https://ocom.uno/specification/normative",
  "extends": "https://ocom.uno/vocabulary",
  "types": [
    {
      "@id": "av:Agreement",
      "name": "Agreement",
      "definition": "The master document between AffVector and a partner.",
      "realises": [
        "ocom:Contract"
      ],
      "count": 1
    },
    {
      "@id": "av:Brand",
      "name": "Brand",
      "definition": "A casino or sportsbook brand promoted through the program, with any alias resolving to one canonical name.",
      "realises": [
        "ocom:Object"
      ],
      "count": 1
    },
    {
      "@id": "av:Capability",
      "name": "Capability",
      "definition": "Something the program provides to partners, with an honest statement of whether it is operating yet.",
      "realises": [
        "ocom:Capability"
      ],
      "count": 3
    },
    {
      "@id": "av:Classification",
      "name": "Classification",
      "definition": "A closed set of categories used to describe plans, traffic or markets.",
      "realises": [
        "ocom:Classification"
      ],
      "count": 4
    },
    {
      "@id": "av:CommissionPlan",
      "name": "CommissionPlan",
      "definition": "A way a partner is paid, carrying the terms and the bounds a deal made under it must respect.",
      "realises": [
        "ocom:Contract",
        "ocom:Object"
      ],
      "count": 3
    },
    {
      "@id": "av:Constraint",
      "name": "Constraint",
      "definition": "A hard condition that cannot be crossed, with the expression that decides it and the document it derives from.",
      "realises": [
        "ocom:Constraint"
      ],
      "count": 4
    },
    {
      "@id": "av:Document",
      "name": "Document",
      "definition": "A published document that is not a policy, such as the brand book.",
      "realises": [
        "ocom:Object"
      ],
      "count": 1
    },
    {
      "@id": "av:Lifecycle",
      "name": "Lifecycle",
      "definition": "The governed states an object class passes through, and the transitions between them.",
      "realises": [
        "ocom:Metadata",
        "ocom:Object"
      ],
      "count": 1
    },
    {
      "@id": "av:Organization",
      "name": "Organization",
      "definition": "An independent participant that AffVector records as an object: AffVector itself.",
      "realises": [
        "ocom:Object",
        "ocom:Organization"
      ],
      "count": 1
    },
    {
      "@id": "av:Policy",
      "name": "Policy",
      "definition": "A published document stating rules a partnership runs on, carrying its own version and effective date.",
      "realises": [
        "ocom:Policy"
      ],
      "count": 6
    },
    {
      "@id": "av:Program",
      "name": "Program",
      "definition": "The affiliate program as a governed object: what it offers, who it is for, and what governs it.",
      "realises": [
        "ocom:Object"
      ],
      "count": 1
    },
    {
      "@id": "av:Registry",
      "name": "Registry",
      "definition": "A governed collection with rules for what may belong to it.",
      "realises": [
        "ocom:Registry"
      ],
      "count": 7
    },
    {
      "@id": "av:Role",
      "name": "Role",
      "definition": "A responsibility an object is owned by. Ownership sits on the role, never on a person.",
      "realises": [
        "ocom:Ownership"
      ],
      "count": 3
    }
  ],
  "properties": [
    {
      "@id": "av:status",
      "name": "status"
    },
    {
      "@id": "av:assurance",
      "name": "assurance"
    },
    {
      "@id": "av:ownedBy",
      "name": "ownedBy"
    },
    {
      "@id": "av:ocomTerm",
      "name": "ocomTerm"
    },
    {
      "@id": "av:ocomTermUrl",
      "name": "ocomTermUrl"
    },
    {
      "@id": "av:relationship",
      "name": "relationship"
    },
    {
      "@id": "av:relationshipType",
      "name": "relationshipType"
    },
    {
      "@id": "av:relationshipTarget",
      "name": "relationshipTarget"
    },
    {
      "@id": "av:relationshipTargetNote",
      "name": "relationshipTargetNote"
    }
  ]
}
