{
  "id": "plus_code_short",
  "kind": "pattern",
  "status": "draft",
  "name": "Short Plus Code (Open Location Code)",
  "doc": "Plus Code with leading digits removed, which is decoded relative to a reference location, often a town written after it (WF8Q+WF Praia). Digits are removed in pairs and only while the reference is close enough to recover the full code (plus_code). The specification describes removing two to six digits; the test data of the reference implementations also removes all eight (+2VX). Short codes keep the separator + and cannot contain padding. Short codes with nothing after the separator, such as 22+, are valid but not covered, because they look like ordinary text.",
  "semantic_type": "plus_code",
  "is_pii": false,
  "categories": [
    "geo"
  ],
  "langs": [
    "common"
  ],
  "classification": "identifier",
  "regexp": "^(?:[2-9CFGHJMPQRVWXcfghjmpqrvwx]{2}){0,3}\\+[2-9CFGHJMPQRVWXcfghjmpqrvwx]{2,}$",
  "examples": [
    {
      "value": "9G8F+6W",
      "description": "8FVC9G8F+6W shortened near Zurich (specification)",
      "valid": true
    },
    {
      "value": "8F+6W",
      "description": "The same code shortened closer to its centre (specification)",
      "valid": true
    },
    {
      "value": "WF8Q+WF",
      "description": "796RWF8Q+WF shortened for Praia (specification)",
      "valid": true
    },
    {
      "value": "WC2345+G6g",
      "description": "Mixed case, from the reference validity tests",
      "valid": true
    },
    {
      "value": "+2VX",
      "description": "9C3W9QCJ+2VX with all eight digits removed (reference short code tests)",
      "valid": true
    },
    {
      "value": "WC2300+G6g",
      "description": "Short codes cannot contain padding",
      "valid": false
    },
    {
      "value": "WC2345+G",
      "description": "One digit after the separator",
      "valid": false
    },
    {
      "value": "8FVC9G8F+6W",
      "description": "Full code: the datatype plus_code",
      "valid": false
    }
  ],
  "links": [
    {
      "type": "doc",
      "url": "https://github.com/google/open-location-code/blob/main/Documentation/Specification/specification.md"
    },
    {
      "type": "other",
      "url": "https://github.com/google/open-location-code/blob/main/test_data/validityTests.csv"
    },
    {
      "type": "other",
      "url": "https://github.com/google/open-location-code/blob/main/test_data/shortCodeTests.csv"
    }
  ],
  "quality": {
    "score": 75,
    "missing": [
      "mapping (Wikidata, Schema.org, ...)",
      "translation",
      "detector coverage"
    ]
  },
  "source": {
    "path": "data/datatypes/any/geo/plus_code_short.yaml",
    "url": "https://github.com/apicrafter/metacrafter-registry/blob/main/data/datatypes/any/geo/plus_code_short.yaml",
    "edit_url": "https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/geo/plus_code_short.yaml"
  },
  "urls": {
    "html": "http://registry.apicrafter.io/datatype/plus_code_short",
    "json": "http://registry.apicrafter.io/api/v1/datatypes/plus_code_short.json"
  }
}