Aztec Code
Aztec è il codice a barre 2D su ogni carta d'imbarco aerea, quasi ogni app per biglietti ferroviari e una quota crescente di tornelli per il trasporto pubblico. È l'unica simbologia 2D specificamente ottimizzata per decodificare in modo affidabile da uno schermo telefonico a basso contrasto dietro un'impronta digitale, motivo per cui IATA lo ha scelto per lo standard BCBP (Bar Coded Boarding Pass) nel 2005 e non l'ha mai cambiato.
Applicazione IATA:BCBP (Bar Coded Boarding Pass) Resolution 792, definisce il formato payload Tipo M1 usato da tutte le compagnie aeree.
Creatore: Welch Allyn (ora Honeywell), 1995. Privo di royalty dalla scadenza del brevetto originale.
Cos'è
Un codice a matrice quadrata con un caratteristico pattern finder bullseye al centro (quadrati concentrici), circondato da moduli dati disposti a spirale. A differenza del QR, Aztec non ha pattern di posizione/allineamento negli angoli, il bullseye centrale è l'unico fiduciale, il che significa che Aztec tollera rotazione, inquadratura decentrata e ritaglio non quadrato molto meglio del QR.
Cinque proprietà che rendono Aztec eccezionalmente adatto alla scansione su schermo:
- Nessuna zona di silenzio richiesta. Il QR necessita di un margine di 4 moduli; Aztec decodifica con zero. Utile quando il bordo o la cornice dello schermo del telefono taglia il codice.
- Il finder bullseye tollera la perdita di contrasto. LCD telefonici a bassa luminosità, riflessi solari, macchie di rivestimento oleofobo, Aztec sopravvive a tutte e tre dove i tre marcatori angolari del QR si cancellano.
- ECC variabile 5%–95%. Il QR ha 4 livelli (L/M/Q/H) con tetto al 30%. Aztec arriva al 95% di correzione degli errori per scenari di danno estremo.
- Compatto rispetto alla capacità. Con un massimo di 3.067 caratteri alfanumerici, Aztec contiene più in uno spazio minore rispetto a PDF417 o Data Matrix.
- Nessun blocco di orientamento. Il QR richiede i pattern finder per risolvere l'orientamento; il bullseye di Aztec è simmetrico per rotazione.
Dimensioni e capacità
| Variante | Dimensioni | Capacità alfanumerica max. | Uso tipico |
|---|---|---|---|
| Compatto | 15 × 15 a 27 × 27 moduli | ~110 caratteri | URL brevi, assegnazioni posti IATA |
| Full-Range (piccolo) | 19 × 19 a 45 × 45 | ~400 caratteri | Carte d'imbarco BCBP Tipo M1 |
| Full-Range (medio) | 49 × 49 a 95 × 95 | ~1.200 caratteri | Biglietti di transito con segmenti multipli |
| Full-Range (max) | 151 × 151 | ~3.067 caratteri | Payload pesanti, rari in pratica |
Livelli di correzione errori
L'ECC di Aztec è specificato come percentuale delle parole di codice dati dedicate alla correzione Reed-Solomon. Il generatore accetta qualsiasi valore dal 5% al 95%; i valori predefiniti sono 23% (corrisponde al livello M del QR) per uso generale e 50% per carte d'imbarco/biglietti di transito.
| Livello ECC | Uso tipico | Compromesso |
|---|---|---|
| 5% | Solo esperimenti/demo | Fallisce su qualsiasi danno reale. Non distribuire mai codici di produzione a questo livello. |
| 23% (predefinito) | Aztec URL breve su display digitali | Corrisponde al livello M del QR. Scelta standard quando lettore e ambiente sono entrambi buoni. |
| 50% | IATA BCBP, biglietti di transito, carta spiegazzata | Sopravvive a un angolo piegato o una macchia significativa. Valore predefinito implicito di IATA. |
| 75%–95% | Ambienti ad alta abrasione o alta piegatura | La capacità del payload diminuisce drasticamente. Solo per uso specialistico. |
Formato IATA BCBP, l'uso canonico di Aztec
La Carta d'Imbarco Codificata a Barre Tipo M1 dell'International Air Transport Association è la più grande applicazione Aztec per volume, miliardi di codici all'anno. Il payload è una stringa ASCII a posizione fissa con questi campi iniziali:
M1{PASSENGER/NAME}E{BOOKING_REF} {FROM} {TO} {AIRLINE} {FLIGHT} {DAY}{COMPARTMENT}{SEAT}{CHECK_IN_SEQ}{PASSENGER_STATUS}- M1, indicatore di formato (sempre M1 per segmento singolo).
- PASSENGER/NAME, cognome/nome, riempito con spazi fino a 20 caratteri.
- E, indicatore biglietto elettronico.
- BOOKING_REF, PNR di 6 caratteri (passenger name record).
- FROM/TO, codici aeroporto IATA a 3 lettere (DEN, LHR, NRT…).
- AIRLINE, codice vettore a 3 caratteri (UA, BA, JL…).
- DAY, giorno giuliano dell'anno (001–366).
- COMPARTMENT, classe di viaggio (F/J/Y/…).
Vettori di test canonici
| Caso | Payload | Sottostringa attesa |
|---|---|---|
| URL breve | https://example.com/board/AB12 | example.com/board/AB12 |
| IATA BCBP minimale | M1DOE/JOHN EABC123 JFKLHRBA 0100 042Y034A0001 100 | M1DOE/JOHN |
| Biglietto di transito con metadati di segmento | M1SMITH/JANE EXYZ789 LAXSFOVA 0250 032Y012C0015 147 | M1SMITH/JANE |
Insidie comuni
- Le fotocamere dei telefoni consumer non decodificano Aztec. La fotocamera iPhone non restituisce nulla. La maggior parte delle fotocamere Android fa lo stesso. Se il tuo pubblico è il pubblico generale con un telefono, usa QR e accetta la densità inferiore. Aztec è per lettori dedicati (gate aeroportuali, scanner tornelli, imager industriali OEM).
- ECC 5% è una trappola. L'ECC legale minimo produce codici che falliscono su qualsiasi sgualcitura, riflesso o abrasione. Il 23% è il limite sicuro; il 50% è il valore predefinito di produzione per tutto ciò che viene stampato su carta.
- BCBP Tipo M1 vs M2. M1 è a segmento singolo; M2 è multi-segmento (fino a 4 voli in un codice). Verifica che i lettori gate della tua compagnia aerea supportino M2 prima di incorporare più segmenti, alcuni lettori più vecchi lo rifiutano.
- Nessun marcatore di posizione, la rotazione è gestita ma la prospettiva no. Aztec tollera la rotazione ma NON la forte distorsione prospettica. Scansiona da circa perpendicolare alla superficie; un'inclinazione di 30°+ degrada la decodifica.
- Stile disabilitato. Le funzioni specifiche del QR (forme punti personalizzate, gradienti, logo centrale) non si applicano ad Aztec. Il pannello Stile di Abundera si disabilita per questo tipo.
- Passo modulo per la stampa. Aztec necessita di almeno 0,33 mm/modulo per una decodifica affidabile con scanner laser; 0,5 mm per letture con fotocamera telefonica su biglietti Aztec di grande formato.
Compatibilità scanner
| Lettore | Supporto Aztec | Note |
|---|---|---|
| Fotocamera iOS (iOS 15+) | No | Apple non ha aggiunto Aztec all'app nativa Fotocamera. Le app di terze parti con SDK Scandit o Dynamsoft funzionano. |
| Fotocamera Android (Google/Pixel) | Parziale | Alcune app fotocamera OEM decodificano; la fotocamera stock Pixel non lo fa in modo affidabile. |
| Google Lens | Inaffidabile | Decodifica Aztec delle carte d'imbarco in modo incoerente. Non è un percorso di verifica praticabile per la produzione. |
| Imager industriale Zebra / Honeywell / Datalogic | Sì | Ogni imager 2D industriale supporta Aztec di serie. |
| Lettore gate compagnia aerea/transito | Sì (canonico) | È per questo che Aztec è stato progettato. Ogni gate aeroportuale e ferroviario legge Aztec in modo affidabile. |
| SDK Scandit / Dynamsoft | Sì | Usato dalla maggior parte dei chioschi self-service e delle app di check-in delle compagnie aeree. |
Vedi anche
- /aztec-code-generator/, il generatore Aztec.
- Confronto Aztec · PDF417 · Data Matrix, confronto affiancato con le altre due simbologie 2D non-QR.
- Riferimento PDF417, il fratello lineare impilato, per patenti e lettere di vettura aerea.
- Riferimento Data Matrix, il fratello per la marcatura diretta dei componenti, per farmacia e parti elettroniche.
- Indice degli standard, torna all'hub di riferimento.