Territories & Shares

Territory entries appear in parties[].territories[] (v1.0). Collection shares are tied to TIS codes; ownership shares are not.


Ownership vs collection (important)

shareTypes[].typeCWR source recordsTIS on territory
"own"SWR, OWR, SPU, OPUNone — always include: [], exclude: []
"coll"SWT, OWT, SPT, OPTYesinclude / exclude from the territory record

The mapper keeps these in separate territories[] entries when both exist. Do not merge own into a collection row that carries TIS codes such as 2136 (World).

Sub-publishers (SE, AM, PA) only receive coll territories (from SPT / OPT). They never receive shareTypes[].type: "own" in v1.0 output — only original publishers (role: "E") and writers emit ownership shares.

Implementation: upsertOwnTerritory / upsertCollectionTerritory in src/cwr-sdk/mapper/territoryUtils.ts; publisher ownership eligibility: isPublisherOwnEligible() (role E only) in parseHelpers.ts.


Territory Entry Object

FieldTypeReqDescription
territory.includestring[]MTIS Numeric Codes for collection scope. For an own-only entry, both include and exclude are []. ["2136"] = World when used for coll.
territory.excludestring[]OTIS Numeric Codes excluded from collection scope
shareTypesarrayMOne or two entries: "own" and/or "coll" (typically one type per entry)
agreementNumberobjectOAgreement number for this territory: { source?, value }. source is typically a society code. Often on coll entries.

shareTypes Entry

FieldTypeReqDescription
typestringM"own" (ownership) or "coll" (collection)
sharesarrayMOne entry per rights type with a non-zero value

Share Object

FieldTypeReqDescription
rightsTypestringM"pr", "mr", or "sr"
valuenumberMShare as a decimal percentage (0–100). Derived from raw CWR share field divided by 100. E.g., CWR 00500050.00
societystringOAffiliation society code for this share (e.g., "035" = GEMA, "052" = PRS)

own vs coll

TypeSource recordsMeaning
"own"SPU, OPU, SWR, OWRDeclared ownership percentage (not territory-scoped in JSON)
"coll"SPT, OPT, SWT, OWTCollection right in the TIS scope on that entry

Example (writer + E publisher + SE sub-publisher)

"territories": [
  {
    "territory": { "include": [], "exclude": [] },
    "shareTypes": [
      {
        "type": "own",
        "shares": [
          { "rightsType": "pr", "value": 50, "society": "010" }
        ]
      }
    ]
  },
  {
    "territory": { "include": ["2136"], "exclude": [] },
    "shareTypes": [
      {
        "type": "coll",
        "shares": [
          { "rightsType": "pr", "value": 50, "society": "010" }
        ]
      }
    ],
    "agreementNumber": { "source": "010", "value": "AG-0042" }
  }
]

Sub-publisher (SE) — collection only:

"territories": [
  {
    "territory": { "include": ["250"], "exclude": [] },
    "shareTypes": [
      {
        "type": "coll",
        "shares": [
          { "rightsType": "pr", "value": 50, "society": "058" }
        ]
      }
    ]
  }
]

TIS codes

Territory codes follow the CISAC TIS standard. They apply to coll entries, not to own ownership rows.