---
id: "gmn"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["gs1", "objectids", "industry"]
langs: ["common"]
quality: 75
url: "http://registry.apicrafter.io/datatype/gmn"
---

# Global Model Number (GMN) (`gmn`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

GS1 identification key for a product model: the design that a group of trade items is made to. It is a GS1 Company Prefix, a model reference and two check characters, up to 25 characters of GS1 character set 82. The check character pair is computed from the other characters with prime weights modulo 1021. In barcodes it is carried by Application Identifier (8013); the element string is the pattern gs1_ai_8013.

- Personal data (PII): no
- Categories: GS1 standards (gs1), Objects identifiers (objectids), Industry (industry)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier
- Patterns: `gs1_ai_8013`

## Detection

Regular expression (Python `re`):

```
^\d{4}[!%-?A-Z_a-z\x22]{0,19}[2-9A-HJ-NP-Z]{2}$
```

Check digit algorithm: `gs1_checkpair`

## Examples

- `1987654Ad4X4bL5ttr2310c2K` — Test value of the GS1 Barcode Syntax Engine check pair linter
- `9528765Model-A7NM` — Synthetic value with the GS1 demonstration prefix 952 and a valid check character pair
- `1987654Ad4X4bL5ttr2310cXK` (invalid example) — Check characters changed: fails the check pair

## Sources

- doc: <https://ref.gs1.org/ai/8013>
- doc: <https://ref.gs1.org/standards/genspecs/>
- other: <https://github.com/gs1/gs1-syntax-engine/blob/main/src/c-lib/syntax/lint_csumalpha.c>

## Quality

Score 75/100. Missing: mapping (Wikidata, Schema.org, ...), translation, detector coverage.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/gmn.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/gs1/gmn.yaml>
