The whole model on one plate

The periodic table of visibility.

Every barcoded element is three things: the barcode format that carries it, the thing it names, and the standard that shapes it. Almost any format carries almost any thing, so the plate keeps them apart: a rail of formats, and a grid of things, each naming its standard and the formats that carry it. Select an element to open it.

axis one · the container

The barcode format is the container, not the thing.

Nine ways to carry an identity on a package. barcoding.dev reads every one of them. RFID is a sibling, a radio rather than a printed mark. One format carries almost any content, so each of these recurs across the grid below.

  • UPC UPC-A ISO 15420 · 1D linear US retail, 12 digits carries GTIN
  • EAN EAN-13 ISO 15420 · 1D linear global retail, 13 digits carries GTIN, ISBN
  • ITF ITF-14 ISO 16390 · 1D linear printed on corrugate cartons carries GTIN-14 (case)
  • 39 Code 39 ISO 16388 · 1D linear no GS1 application identifiers carries VIN, plain serials
  • 128 Code 128 / GS1-128 ISO 15417 · 1D linear carries GS1 AIs, the logistics workhorse carries SGTIN, SSCC, GLN, GSRN, GRAI
  • PDF417 PDF417 ISO 15438 · 2D stacked room for a paragraph carries the AAMVA driver license
  • DM GS1 DataMatrix ISO 16022 · 2D matrix packs dense at a tiny size carries SGTIN on Rx and devices, GRAI
  • QR QR ISO 18004 · 2D matrix a whole web address, camera-read carries any identity, as a GS1 Digital Link
  • RFID RFID, EPC UHF Gen2 ISO 18000-63 · radio read without line of sight, a sibling not a barcode carries SGTIN, SSCC (this one) sibling

read it both ways  Read down a container in the rail: it carries many things. Read across a thing in the grid below: it rides many containers. The mapping is many-to-many, and the format is never the thing.

Transaction the paperwork transactions.dev

Po Purchase order Asn Advance ship notice Inv Invoice Bol Bill of lading Rct Receipt

Persona who id.org.ai

Gln Company or party Wkr Worker Csm Consumer Gsr Patient Dl License to drive Agt Agent S2 Relational role

Place where epcis.dev / id.org.ai

Loc Location Plt Plant Wh Warehouse Str Store Rx Pharmacy Hsp Hospital

Activity the verb epcis.dev

Com Commission Pk Pack Shp Ship Rcv Receive Sel Sell Ret Return Agg Aggregate Dis Disaggregate Dsp Dispense Dec Decommission

the many-to-many, at Target

One product wears three containers at once.

Pick up a single non-grocery item at Target and it carries a UPC and a QR and an RFID tag, at the same time, not one instead of another. The UPC carries the GTIN, the kind that every identical item shares. The RFID tag carries the SGTIN, the serial that names this one. Same thing. Three containers. Two grains. The format was never the thing.

9506000134352

UPC / EAN, the linear container → the GTIN (the kind)

QR, a GS1 Digital Link → the same GTIN, plus its fields

an EPC UHF Gen2 tag, read without line of sight (no printed mark to draw)

RFID → the SGTIN (this one): 01/09506000134352/21/987

Two forms, one identity: 09506000134352.

close

Product / GTIN

barcoding.dev · this door

The number on almost everything you buy. A GTIN names a class of trade item: every identical 12oz bag of lettuce shares one GTIN, the shelf, the register and the catalog all agree on it.

meaning
a KIND of trade item, a class
standard
GS1 GTIN-8/12/13/14 · AI (01)

in practice The kind, not the copy. A UPC on the front carries it in the US; an EAN-13 carries it in Europe; a QR carries it as a Digital Link. One meaning, several containers.

9506000134352

the shelf barcode (EAN-13)

the modern square (GS1 Digital Link QR)

Two forms, one identity: 09506000134352.

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Item / SGTIN

barcoding.dev · this door

The one instance. A GTIN plus a serial names THIS bag of lettuce, not the identical one behind it, the finest grain there is. Same GTIN as its neighbor, a different serial.

meaning
ONE physical instance, this one
standard
GTIN + AI (21) serial · expiry (17) · lot (10)

in practice Every US prescription package already carries this under DSCSA, usually in a DataMatrix. The GTIN goes to the register; the serial, lot and expiry rode in on the same scan and go nowhere today. An RFID tag carries this same instance grain without line of sight.

(01)09506000134352(17)260930(10)LOT42

GTIN + expiry + lot in one GS1-128 strip

the serialized instance as a Digital Link QR

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Case / GTIN-14

barcoding.dev · this door

The shipping case. A GTIN-14 with a packaging indicator says how many inner units it holds.

meaning
a trade item at case level
standard
GTIN-14 with packaging indicator · AI (01)

in practice A 12-pack is one sellable unit that holds twelve sellable units: the case is a class, each can inside it a finer class, and each physical can an instance. It rides an ITF-14 printed straight onto the corrugate, or a GS1-128 label.

(01)09506000134352(17)260930(10)LOT42

a case-grain GS1-128 label

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Pallet / SSCC

barcoding.dev · this door

The unit of custody. An SSCC names one logistic unit, this pallet, built forty minutes ago, and it is serialized by construction.

meaning
one logistic unit, this pallet
standard
GS1 SSCC-18 · AI (00)

in practice What a dock scans when a shipment arrives. One SSCC, one thing that moves, on a GS1-128 pallet label.

(00)395060000000001235

a pallet label (SSCC on GS1-128)

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Asset / GIAI

barcoding.dev · this door

A fixed or individual asset, a tote, a fixture, a machine. The GIAI gives one asset a durable number.

meaning
a fixed or individual asset
standard
GS1 GIAI · AI (8004)

in practice The kind of thing that moves through your building carrying no barcode at all until you give it one. Serialize is the act that comes first for assets, usually onto a GS1-128 label.

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Returnable / GRAI

barcoding.dev · this door

A returnable transport item, a crate, a keg, a reusable pallet, a surgical tray, that comes back and is used again.

meaning
a reusable asset that comes back
standard
GS1 GRAI · AI (8003)

in practice Counted from memory and reconciled by argument until it has an identity. A hospital surgical tray is a GRAI, not an SGTIN, because it survives the autoclave and returns; its DataMatrix does too.

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Book / ISBN

barcoding.dev · this door

A book's identity. An ISBN-13 is a GTIN with a 978 or 979 prefix, so it lives inside the same number space as everything else on a shelf.

meaning
a book title, a trade item
standard
ISBN-13 (Bookland EAN, prefix 978/979)
format
EAN-13

in practice Proof that the trade-item space is one space: a book scans at a register exactly like a can of soup, on an EAN-13.

9780306406157

an ISBN as an EAN-13

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Drug / NDC

barcoding.dev · this door

The US National Drug Code. It has no check digit of its own; its scannable form rides inside a GTIN at AI (01).

meaning
a US drug product, over the counter
standard
US FDA NDC (10-digit) · carried inside a GTIN

in practice Over the counter, it is a GTIN, a product class. On a prescription package it becomes an SGTIN with a serial and lot, in a DataMatrix. Structural validation only: the standard defines no check math.

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Device / UDI

barcoding.dev · this door

A medical device's unique identifier. Read at the FDA grain the GTIN is the device identifier and the production identifiers are the lot, expiry and serial.

meaning
a medical device, at two grains
standard
US FDA UDI (GS1 / HIBCC / ICCBBA issuing agencies)

in practice One label, read at two grains: the same characters name the device class and the individual device, in a DataMatrix small enough to ride the device itself.

(01)00844588003288(17)261231(10)LOT42

a UDI on a GS1-128 label

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Vehicle / VIN

barcoding.dev · this door

A vehicle's identity, seventeen characters with a check position, printed on the door jamb, usually as a Code 39 barcode.

meaning
one vehicle, granted by a maker
standard
ISO 3779 VIN (17 chars) · often on Code 39
format
Code 39

in practice Fully published and check-verifiable from the digits. Decomposed by the vehicle authority; resolved via auto.dev. Code 39 carries it because it needs no GS1 application identifiers.

1HGCM82633A004352

a real VIN on Code 39 (the door-jamb form)

barcoding.dev reads this and checks it from the digits alone. The Digital Link resolves at id.org.ai, and the scan becomes an event at epcis.dev. This door holds no history.

close

Purchase order

Transaction → transactions.dev

The buyer's order: what was asked for, from whom, to which door.

meaning
the order that was placed
standard
EDI 850 / UBL Order
format
an EDI message; a Digital Link QR can carry its own elements

in practice The promise a shipment answers to. A Digital Link can carry the order's own elements, not merely a pointer to it.

close

Advance ship notice

Transaction → transactions.dev

What is on its way, packed how, arriving when, sent ahead of the truck.

meaning
what is on its way
standard
EDI 856 / UBL DespatchAdvice
format
an EDI message; the truck itself carries GS1-128 labels

in practice It knows everything about the shipment except who. The event layer supplies the rest.

close

Invoice

Transaction → transactions.dev

The bill: line items, prices, terms.

meaning
what is owed
standard
EDI 810 / UBL Invoice
format
an EDI message, not a printed mark

in practice The money side of the same movement the events describe.

close

Bill of lading

Transaction → transactions.dev

The custody document for a freight movement: who holds the goods between the dock and the door.

meaning
who holds the goods in transit
standard
Bill of lading (freight custody document)
format
a custody document; a QR can point at it

in practice Custody in paper form, the same custody an SSCC scan records as an event.

close

Receipt

Transaction → transactions.dev

Proof that goods arrived, or that a sale happened.

meaning
proof the loop closed
standard
Goods receipt / point-of-sale receipt
format
a document; a QR receipt can carry its own lines

in practice The close of the loop: what the order promised, confirmed at the door or the lane.

close

Company or party

Persona → id.org.ai

A legal party: the company running a step in the chain.

meaning
a legal party in the chain
standard
GS1 GLN · AI (417)

in practice The who the event layer does carry, a party appears as the actor of a step, its GLN on a GS1-128 label.

close

Worker

Persona → id.org.ai

The individual who actually did it, picked, packed, scanned, dispensed.

meaning
the individual who did it
standard
id.org.ai person identity
format
a person identity, never read off a document

in practice The dimension the event standard leaves out: a company appears as the party, the individual does not. Whether that gap matters to your week is your call.

close

Consumer

Persona → id.org.ai

The shopper a sale is for.

meaning
the shopper a sale is for
standard
id.org.ai person identity
format
a person identity, never read off a document

in practice The person side of the chain represented without ever reading a license: a consumer, not a scanned document.

close

Patient

Persona → id.org.ai

A patient, as a service relation, the recipient of care (a gym membership is the same GSRN shape, a service relationship).

meaning
a person in a care relationship
standard
GS1 GSRN · AI (8018)

in practice A person identified by a durable service number rather than by a personal document, on a GS1-128 or DataMatrix wristband.

close

License to drive

Persona → id.org.ai

The barcode on the back of a US driver license: a person, and the state's grant of their license to drive. Its container is a PDF417; its standard is AAMVA, not GS1.

meaning
a person's license to drive, granted by a state
standard
AAMVA DL/ID card design standard
format
PDF417

in practice This is where the domain guardrail lives, and it is why a container is not a meaning. The format is a barcode like any other; the meaning is a person.

Handed a driver license, this door answers with a refusal, not a reading: parsed, verified, and nothing kept, nothing shown, nothing sent. The refusal is a document, see personal-document-refused. A person is otherwise represented on this plate through Consumer and Patient, never read off a license.

close

Agent

Persona → id.org.ai

A non-human actor: a service or model that reads, decides and acts.

meaning
a non-human actor
standard
id.org.ai agent identity
format
a key, not a printed mark

in practice First-class here. Agent. Human. Thing. An agent can take a key and run the free half with no human in the loop.

close

Relational role

Persona → id.org.ai

Not a new party, but a party in a role: ship-to, bill-to, owner, possessor.

meaning
a party IN a role
standard
ship-to · bill-to · owner · possessor
format
a role on a document, not a mark

in practice The same company is many roles at once. Roles are how a transaction and an event name the same party for different reasons.

close

Location

Place → epcis.dev / id.org.ai

A readable place: a physical location, addressable to the sub-location.

meaning
a readable place
standard
GS1 GLN · AI (414) + extension (254)

in practice The where of a step. A location is a GLN; a dock door or a rack position is its extension.

close

Warehouse

Place → epcis.dev / id.org.ai

A holding and staging site.

meaning
where custody waits
standard
GS1 GLN (physical location)

in practice Where custody sits between movements.

close

Store

Place → epcis.dev / id.org.ai

A retail location.

meaning
where the sale happens
standard
GS1 GLN (physical location)

in practice Where the sale, and the lane that reads the square, happens.

close

Pharmacy

Place → epcis.dev / id.org.ai

A dispensing location.

meaning
where a drug is dispensed
standard
GS1 GLN (physical location)

in practice Where a serialized drug is dispensed to a patient.

close

Commission

Activity → epcis.dev

Bringing an identity into being and associating it with a thing.

meaning
naming a thing into being
standard
EPCIS 2.0 CBV bizStep: commissioning
format
an event, not a mark

in practice The first verb: before a thing can move, it has to be named.

close

Pack

Activity → epcis.dev

Packing units into a container.

meaning
packing units into a container
standard
CBV bizStep: packing
format
an event, not a mark

in practice The physical act that Aggregate records.

close

Ship

Activity → epcis.dev

Sending goods out a door.

meaning
custody leaves a door
standard
CBV bizStep: shipping
format
an event, not a mark

in practice Custody leaves; the ASN said it was coming.

close

Receive

Activity → epcis.dev

Taking goods in at a door.

meaning
custody arrives at a door
standard
CBV bizStep: receiving
format
an event, not a mark

in practice Custody arrives; the receipt confirms it.

close

Sell

Activity → epcis.dev

The sale at the lane.

meaning
the sale at the lane
standard
CBV bizStep: retail_selling
format
an event, not a mark

in practice The moment the register takes the GTIN and the rest of the square is there to keep.

close

Return

Activity → epcis.dev

Goods coming back.

meaning
the loop run in reverse
standard
CBV bizStep: (returning)
format
an event, not a mark

in practice The loop run in reverse.

close

Aggregate

Activity → epcis.dev

Recording that these instances now ride inside that parent.

meaning
children now ride a parent
standard
EPCIS aggregation: parent SSCC ← child SGTINs
format
an event over serialized things

in practice The 12-pack holds twelve units: the parent is one serialized thing, each child a serialized thing, and the relation is the event.

close

Disaggregate

Activity → epcis.dev

Recording that a parent is opened and its children set loose.

meaning
a parent is opened
standard
EPCIS aggregation (delete)
format
an event, not a mark

in practice The inverse of Aggregate: the pallet is broken down.

close

Dispense

Activity → epcis.dev

Handing a serialized drug to a patient.

meaning
a serial lands on a person
standard
CBV bizStep: dispensing
format
an event, not a mark

in practice Where the serial that rode the DSCSA square finally lands on a person.

close

Decommission

Activity → epcis.dev

Retiring an identity so it is never reused.

meaning
an identity is retired
standard
CBV bizStep: decommissioning
format
an event, not a mark

in practice The last verb: a serial ends its life on the record, not in a drawer.

Get an API key.

The local verbs run from npx barcoding.dev today with no key. A key opens the network half of the verb set.