{
  "page": "gln",
  "name": "GLN — Global Location Number",
  "address": "https://barcoding.dev/schemes/gln",
  "scheme": "gs1.gln",
  "reference": {
    "grammar": "13 digits — GS1 company prefix, location reference, check digit. One number space, two grains: a legal party or a physical/functional location; which grain a given GLN names is data, not grammar.",
    "check": "GS1 mod-10, the same right-anchored rail as GTIN-13.",
    "canonical": "The 13-digit form; party grain in EPCIS terms is the PGLN.",
    "symbologies": "GS1-128 (AI 410–417 family) where printed at all; GLNs mostly travel in documents, not symbols",
    "enrichment": "party: licensee name and issuing MO from GS1 prefix ranges; address grain where licensed",
    "join": "The three-layer join: EDI N1 loops (N104 qualifier UL) ↔ EPCIS sourceList/destinationList (owning_party, location) ↔ the Peppol endpoint id — one key across all three layers."
  },
  "registry": {
    "gs1.gln": {
      "scheme": "gs1.gln",
      "title": "GLN — Global Location Number",
      "grammar": "^\\d{13}$",
      "check": {
        "algorithm": "mod10",
        "label": "mod10 pass",
        "source": "GS1 GenSpecs 26.0 §7.9",
        "vectors": [
          {
            "value": "9506000134352",
            "valid": true
          },
          {
            "value": "9506000134353",
            "valid": false
          }
        ]
      },
      "canonical": "13 digits",
      "segments": [
        {
          "name": "company prefix",
          "note": "shared ancestry lane with GTIN; the split needs the pinned prefix table (P0-15)",
          "declared": true
        },
        {
          "name": "location reference",
          "declared": true
        },
        {
          "name": "check",
          "philosophy": "this character exists only to certify the others",
          "color": "green"
        }
      ],
      "symbologies": [
        "gs1-128",
        "gs1datamatrix"
      ],
      "generate": {
        "emits": [
          "gs1-128",
          "gs1datamatrix"
        ]
      },
      "policy": {},
      "handoff": "read here · resolved by id.org.ai",
      "address": "/417/{gln}",
      "digest": "sha256:8a2ae77f331fc5984d966405852fad3fb9ea079e4415298be928e3ef195216d6",
      "digest_source": "engine/pins/PINS.json — pin verified against the artifact this build consumed"
    }
  },
  "resolution_stance": "barcoding.dev detects, parses, verifies, enriches and generates — the codec and the data layer. Resolution — an identifier answered with identity and its linkset of live doors — is ONE capability family-wide, served by the family's identity layer, id.org.ai; vertical estates project the same one capability (vehicles: auto.dev). This registry row is the data that resolution consumes.",
  "posts": [
    "https://barcoding.dev/blog/gln-the-three-layer-join/",
    "https://barcoding.dev/blog/the-asn-knows-everything-except-who/"
  ],
  "faces": {
    "html": "https://barcoding.dev/schemes/gln/",
    "json": "https://barcoding.dev/schemes/gln.json",
    "markdown": "https://barcoding.dev/schemes/gln.md"
  }
}
