Ogni hotel in Spagna, Italia e Germania deve registrare chi dorme nelle sue camere. I tre paesi chiedono campi diversi, con scadenze diverse, attraverso canali diversi, e conservano i dati per periodi diversi. Un modulo di check-in costruito per uno di loro è sbagliato per gli altri due.

Questo articolo legge i testi primari di ciascun paese e divide i campi in due gruppi: quelli stampati sul passaporto o sulla carta d'identità dell'ospite e quelli che solo l'ospite può dirvi. Ogni requisito che segue è citato dalla fonte collegata. Dove una fonte non si è potuta leggere per intero, la lacuna viene indicata invece che colmata.

Questo è il blog di doc.cheap, un'API OCR per passaporti e carte d'identità che legge passaporti e carte d'identità da una foto e ricalcola sul server le cifre di controllo della loro MRZ. Nulla di quanto segue dipende da essa.

Spagna: Real Decreto 933/2021

Le norme spagnole sono nel Real Decreto 933/2021, pubblicato nel BOE. Il testo consolidato riporta "Última actualización, publicada el 27/10/2021", e i suoi obblighi di comunicazione si applicano "a partir del 2 de enero de 2023" (Disposición final tercera).

Cosa chiede il decreto a un hotel:

Requisito Cosa dice il testo Dove
Chi firma Le schede di ingresso "deberán ser firmados por toda persona mayor de catorce años"; i dati di un minore di 14 anni li fornisce l'adulto che lo accompagna Art. 4.2
Esattezza La struttura risponde della corrispondenza dei dati con i documenti d'identità "que habrán de ser exhibidos o facilitados por los usuarios" Art. 4.3
Registro Un "registro informático" con i dati degli allegati I e II Art. 5.1
Scadenza Inviare i dati "de manera inmediata, y en todo caso en un plazo no superior a 24 horas", a partire dalla prenotazione e da "Al inicio de los servicios contratados" Art. 6.3
Canale "por procedimientos telemáticos"; gli host non professionali possono usare altri mezzi Art. 6.4
Conservazione "Los datos del registro informático deberán conservarse durante un plazo de tres años a contar desde la finalización del servicio o prestación contratada." Art. 5.3

I campi dell'ospite sono nell'Anexo I, sezione A.3, "Datos de los viajeros". Ecco l'elenco, ordinato in base alla provenienza del valore:

Campo dell'Anexo I A.3 Provenienza al check-in
a) Nombre Documento
b) Primer apellido Documento
c) Segundo apellido Documento, se il titolare ne ha uno
d) Sexo Documento
e) Número de documento de identidad Documento
f) Número de soporte del documento Documento (carte spagnole); non è uno dei campi della MRZ del passaporto
g) Tipo de documento (DNI, pasaporte, TIE) Documento
h) Nacionalidad Documento
i) Fecha de nacimiento Documento
j) Lugar de residencia habitual (Dirección completa, Localidad, País) Ospite
k) Teléfono fijo, l) Teléfono móvil, m) Correo electrónico Ospite
n) Número de viajeros Ospite o prenotazione
o) Relación de parentesco entre los viajeros (quando uno è minorenne) Ospite

La sezione A.4, "Datos de la transacción", aggiunge il lato della prenotazione: il riferimento del contratto, la data e le firme; data e ora di arrivo e di partenza; l'indirizzo della struttura, il numero di camere e se dispone di Internet; e il pagamento: tipo, identificazione del mezzo di pagamento, il suo titolare, la scadenza della carta e la data del pagamento. Niente di tutto questo è su un passaporto. Viene dai vostri sistemi di prenotazione e di pagamento.

Una trappola per i lettori automatici: il passaporto ha un solo campo per il cognome. I nomi spagnoli hanno spesso due cognomi, e il decreto li chiede separati, quindi il modulo deve mostrare la suddivisione e lasciare che l'ospite la corregga.

Germania: Bundesmeldegesetz §§ 29 e 30

Le norme tedesche sono nella legge federale sulla registrazione anagrafica, la Bundesmeldegesetz (BMG). Il § 29 BMG dice chi deve registrarsi:

"Beherbergte ausländische Personen haben am Tag der Ankunft einen besonderen Meldeschein handschriftlich zu unterschreiben, der die in § 30 Absatz 2 aufgeführten Daten enthält." (§ 29(2))

Quindi nel testo vigente l'obbligo riguarda gli ospiti stranieri e scatta il giorno dell'arrivo. Coniugi, partner e figli minorenni stranieri che li accompagnano compaiono solo come numero, e per i gruppi turistici di oltre 10 persone firma solo l'accompagnatore. In base al § 29(3), gli ospiti stranieri si identificano "durch die Vorlage eines gültigen Identitätsdokumentes (anerkannter und gültiger Pass oder Passersatz)".

Il modulo non deve essere per forza di carta. In base al § 29(5), con il consenso dell'ospite, i dati si possono raccogliere in forma elettronica, e l'ospite conferma il giorno dell'arrivo in uno di tre modi: un pagamento con carta con autenticazione forte del cliente, la funzione di identificazione elettronica di una carta d'identità o di un permesso di soggiorno, oppure la lettura sul posto dell'identificazione elettronica di quella carta.

Il § 30 BMG stabilisce il contenuto. Il modulo contiene "ausschließlich folgende Daten", cioè soltanto questi:

Campo del § 30(2) Provenienza al check-in
1. Datum der Ankunft und der voraussichtlichen Abreise Ospite o prenotazione
2. Familiennamen Documento
3. Vornamen Documento
4. Geburtsdatum Documento
5. Staatsangehörigkeiten Documento (un ospite con più cittadinanze aggiunge le altre)
6. Anschrift Ospite
7. Zahl der ausländischen Mitreisenden und ihre Staatsangehörigkeit Ospite
8. Seriennummer des anerkannten und gültigen Passes oder Passersatzpapiers Documento

Il gestore deve anche confrontare il modulo con il documento d'identità e annotare ogni differenza, oppure un documento mancante o non valido (§ 30(2)). I Länder possono aggiungere campi per l'imposta di soggiorno e la tassa di cura (§ 30(3)).

La conservazione è al § 30(4): tenere i moduli "vom Tag der Abreise der beherbergten Person an ein Jahr", poi distruggerli "innerhalb von drei Monaten nach Ablauf der Aufbewahrungsfrist". Gli stessi periodi valgono per i dati elettronici, che il gestore deve consegnare alle autorità in formato leggibile da una macchina su richiesta. A differenza di Spagna e Italia, la BMG non fissa una scadenza di invio ordinaria: i moduli restano nella struttura e si mostrano quando vengono chiesti. Il trattamento elettronico deve rispettare gli artt. 24, 25 e 32 del Regolamento (UE) 2016/679, il GDPR (§ 30(5)).

Italia: art. 109 TULPS e Alloggiati Web

L'obbligo italiano deriva dall'art. 109 del TULPS, il Testo unico delle leggi di pubblica sicurezza, e dai decreti del 7 gennaio 2013 e del 16 settembre 2021. Il testo ufficiale dell'articolo su Normattiva si carica tramite script, quindi le citazioni qui vengono dal portale della Polizia di Stato che riceve i dati, Alloggiati Web. La sua pagina iniziale dice:

"I gestori di esercizi alberghieri e di tutte le altre strutture ricettive, ENTRO LE 24 ORE successive all'arrivo, devono comunicare alle questure territorialmente competenti, ESCLUSIVAMENTE per il tramite del Servizio Alloggiati, le generalità delle persone alloggiate. Se il soggiorno è inferiore alle 24 ore le generalità vanno inviate all'arrivo stesso."

In breve: entro 24 ore dall'arrivo, solo tramite Alloggiati Web, inviate le generalità degli ospiti alla questura competente; per un soggiorno inferiore alle 24 ore, inviatele all'arrivo.

Le FAQ del portale aggiungono tre punti:

Punto Cosa dicono le FAQ
Identità L'art. 109 dice "si può dare alloggio esclusivamente a persone munite di un documento idoneo ad attestarne l'identità", comunicate tramite Alloggiati Web come stabilito dal decreto del 2013, modificato nel 2021
Affitti brevi Gli obblighi dell'art. 109 si estendono alle locazioni inferiori a 30 giorni (art. 19-bis del decreto-legge 113/2018)
Ricevute "Le ricevute vanno conservate per cinque anni in formato digitale."

Notate che i cinque anni riguardano le ricevute del portale, la prova che avete inviato i dati. Le FAQ non dicono nulla sulla conservazione dei dati dell'ospite in sé.

L'elenco esatto dei campi è nell'allegato tecnico del decreto del 2013. Il portale lo pubblica solo in file PDF, che per questo articolo non si sono potuti leggere alla lettera, quindi la suddivisione campo per campo è omessa. Prima di costruire il modulo italiano, prendete l'elenco dai manuali e dalle tabelle dei codici del portale stesso (le pagine "Manuali" e "Scarica tabelle"). Ciò che il testo citato conferma è che si inviano le "generalità" dell'ospite e che ogni ospite deve avere un documento d'identità.

I tre paesi a confronto

Spagna Italia Germania
Fonte Real Decreto 933/2021 Art. 109 TULPS, DM 7/01/2013 come modificato dal DM 16/09/2021 BMG §§ 29, 30
Chi si registra Ogni ospite; i minori di 14 anni tramite un adulto Ogni ospite, con un documento d'identità Ospiti stranieri; accompagnatori come numero
Nome, data di nascita, cittadinanza Sì "Generalità" (elenco esatto nell'allegato del 2013) Sì
Sesso Sì Nell'allegato del 2013 No
Numero del documento Numero e, per le carte spagnole, il numero di supporto Nell'allegato del 2013 Numero di serie del passaporto
Indirizzo Indirizzo completo di residenza abituale Nell'allegato del 2013 Sì
Telefono ed email Sì Nell'allegato del 2013 No
Dati di pagamento Sì Nessuna menzione nel testo citato No
Scadenza 24 ore 24 ore; all'arrivo per soggiorni inferiori alle 24 ore Nessuna per l'invio; modulo firmato il giorno dell'arrivo
Canale Telematico Solo Alloggiati Web Conservato nella struttura, mostrato su richiesta
Conservazione 3 anni dalla fine del servizio Ricevute 5 anni 1 anno dalla partenza, distruzione entro 3 mesi

Questa è una lettura dei testi citati, non una consulenza legale. Le norme fiscali locali possono aggiungere altri campi, come in Germania consente il § 30(3) BMG.

Cosa può precompilare un modulo di check-in dal documento

Nelle tabelle la sovrapposizione è chiara. In tutti e tre i paesi i campi che si leggono dal documento sono lo stesso nucleo: nomi, cognome, data di nascita, cittadinanza, numero e tipo del documento. La Spagna chiede anche il sesso. Il resto, come indirizzo, telefono, email, date del soggiorno, accompagnatori e pagamento, spetta all'ospite o al vostro sistema di prenotazione.

Ne deriva un modulo semplice:

  • Precompilate i campi del documento da una foto della pagina dati. L'ospite li controlla invece di digitarli. Questo copre anche l'obbligo di esattezza dell'art. 4.3 del decreto spagnolo e l'obbligo di confronto del § 30(2) BMG, perché i valori vengono dal documento stesso.
  • Usate le cifre di controllo della MRZ. La zona a lettura ottica del passaporto contiene cifre di controllo sul numero del documento, sulla data di nascita e sulla scadenza. Una cifra letta o digitata male non supera il controllo, quindi il modulo può segnalarla prima dell'invio. Il verificatore MRZ mostra come si calcola ogni cifra.
  • Mostrate la suddivisione del cognome per gli ospiti spagnoli. Un campo cognome sul passaporto, due sul modulo.
  • Chiedete solo ciò che serve al paese. Un modulo tedesco contiene "ausschließlich" i campi del § 30(2), quindi non riportateci i campi telefono ed email della Spagna.
  • Inserite le scadenze nel flusso di lavoro. Spagna e Italia contano 24 ore; la Germania conta il giorno dell'arrivo.

Dove si inserisce doc.cheap

doc.cheap legge un'immagine per chiamata con POST /v1/scans e restituisce i campi del documento in JSON: holder.given_names, holder.surname, holder.birth_date, holder.sex e holder.nationality, e document.kind, document.number, document.expiry_date e document.issuing_state (lo Stato emittente). Il campo mrz.status indica se le cifre di controllo hanno dato passed o failed, e mrz.reason indica cosa non è andato. La guida Riconoscere un passaporto illustra la chiamata passo per passo.

Uno schizzo della mappatura su un modulo di check-in, con la chiave sandbox della documentazione:

const response = await fetch("https://api.doc.cheap/v1/scans", {
  method: "POST",
  headers: {
    Authorization: "Bearer sk_sandbox_public",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ image: base64Photo, reference: bookingId }),
});
const scan = await response.json();

const prefill = {
  firstName: scan.holder?.given_names,
  surname: scan.holder?.surname,
  sex: scan.holder?.sex,
  birthDate: scan.holder?.birth_date,
  nationality: scan.holder?.nationality,
  documentType: scan.document?.kind,
  documentNumber: scan.document?.number,
  documentExpiry: scan.document?.expiry_date,
  issuingState: scan.document?.issuing_state,
  mrzOk: scan.mrz?.status === "passed",
};
// Indirizzo, telefono, email, date del soggiorno e accompagnatori restano all'ospite.

L'API compila i campi del modulo. Non invia nulla alla polizia, alle autorità spagnole o ad Alloggiati Web: l'invio resta al vostro gestionale alberghiero. L'immagine del documento non viene mai conservata, e con retain_hours: 0 della scansione non viene registrato nulla.

Potete provarla senza account con la chiave sandbox pubblica. doc.cheap include 100 riconoscimenti gratuiti ogni mese, e il confronto delle API OCR per passaporti elenca altri servizi ospitati con i loro prezzi pubblicati.

Ogni affermazione giuridica qui sopra è tratta dalle pagine collegate del BOE, di gesetze-im-internet.de e di Alloggiati Web; ogni affermazione su doc.cheap è stata verificata sul suo codice.

Una domanda per voi: il vostro flusso di check-in serve più di uno di questi paesi, e come gestite i campi che cambiano? Raccontatecelo nei commenti qui sotto.