スペイン、イタリア、ドイツのホテルはすべて、客室に誰が泊まっているかを記録しなければなりません。3か国はそれぞれ異なる項目を、異なる期限で、異なる経路で求め、記録の保存期間も異なります。1か国向けに作ったチェックインフォームは、残りの2か国では正しくありません。

この記事では各国の一次資料を読み、項目を2つのグループに分けます。宿泊者のパスポートやIDカードに印字されている項目と、宿泊者本人にしか答えられない項目です。以下の要件はすべてリンク先の資料から引用しています。資料を全文読めなかった箇所は、推測で埋めずにその欠落を明記しています。

これは、写真からパスポートとIDカードを読み取り、そのMRZチェックディジットをサーバー側で再検証するパスポート・身分証OCR API、doc.cheapのブログです。以下の内容はdoc.cheapに依存しません。

スペイン:Real Decreto 933/2021

スペインの規則は、官報BOEに公布されたReal Decreto 933/2021にあります。統合版のテキストには「Última actualización, publicada el 27/10/2021」と表示され、その通知義務は「a partir del 2 de enero de 2023」適用されます(Disposición final tercera)。

この勅令がホテルに求めること:

要件 条文の記載 条項
署名者 宿泊登録票は「deberán ser firmados por toda persona mayor de catorce años」 Art. 4.2
正確性 施設は、データが身分証明書と一致することに責任を負う。身分証明書は「que habrán de ser exhibidos o facilitados por los usuarios」 Art. 4.3
記録 附属書IとIIのデータを保持する「registro informático」 Art. 5.1
期限 データを「de manera inmediata, y en todo caso en un plazo no superior a 24 horas」送信する。起算点は予約時と「Al inicio de los servicios contratados」 Art. 6.3
経路 「por procedimientos telemáticos」。事業者でない貸主は他の手段も可 Art. 6.4
保存 「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

宿泊者の項目は、Anexo I のA.3節「Datos de los viajeros」です。値の出どころ別に並べると次のとおりです。

Anexo I A.3 の項目 チェックイン時の情報源
a) Nombre 書類
b) Primer apellido 書類
c) Segundo apellido 書類(所持者に第2姓がある場合)
d) Sexo 書類
e) Número de documento de identidad 書類
f) Número de soporte del documento 書類(スペインのカード)。パスポートのMRZ項目には含まれない
g) Tipo de documento (DNI, pasaporte, TIE) 書類
h) Nacionalidad 書類
i) Fecha de nacimiento 書類
j) Lugar de residencia habitual (Dirección completa, Localidad, País) 宿泊者
k) Teléfono fijo, l) Teléfono móvil, m) Correo electrónico 宿泊者
n) Número de viajeros 宿泊者または予約
o) Relación de parentesco entre los viajeros(未成年者がいる場合) 宿泊者

A.4節「Datos de la transacción」は予約側の情報を加えます。契約の参照番号、日付と署名、到着と出発の日時、施設の住所、客室数とインターネットの有無、そして支払い(種類、支払手段の識別情報、その名義人、カードの有効期限、支払日)です。これらはどれもパスポートには載っていません。予約システムと決済システムから取得します。

パーサーにとっての落とし穴が1つあります。パスポートの姓の欄は1つです。スペインの氏名には姓が2つあることが多く、勅令はそれを別々に求めているので、フォームでは分割結果を表示し、宿泊者が修正できるようにすべきです。

ドイツ:Bundesmeldegesetz §§ 29 と 30

ドイツの規則は連邦住民登録法、Bundesmeldegesetz(BMG)にあります。§ 29 BMGは、誰が登録しなければならないかを定めています。

"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))

つまり現行のテキストでは、義務を負うのは外国人の宿泊者で、その期日は到着当日です。同行する外国人の配偶者、パートナー、未成年の子は人数だけを記載し、10人を超える団体旅行では添乗員だけが署名します。§ 29(3) により、外国人の宿泊者は「durch die Vorlage eines gültigen Identitätsdokumentes (anerkannter und gültiger Pass oder Passersatz)」本人確認を行います。

登録票は紙である必要はありません。§ 29(5) により、宿泊者の同意があればデータを電子的に収集でき、宿泊者は到着当日に3つの方法のいずれかで確認します。強力な顧客認証を伴うカード決済、IDカードまたは在留許可証の電子身分証明機能、またはそのカードの電子IDを現地で読み取る方法です。

§ 30 BMGは内容を定めています。登録票には「ausschließlich folgende Daten」、つまり次のデータだけが記載されます。

§ 30(2) の項目 チェックイン時の情報源
1. Datum der Ankunft und der voraussichtlichen Abreise 宿泊者または予約
2. Familiennamen 書類
3. Vornamen 書類
4. Geburtsdatum 書類
5. Staatsangehörigkeiten 書類。項目名が複数形なので、ほかの国籍がないか尋ねる
6. Anschrift 宿泊者
7. Zahl der ausländischen Mitreisenden und ihre Staatsangehörigkeit 宿泊者
8. Seriennummer des anerkannten und gültigen Passes oder Passersatzpapiers 書類

事業者はさらに、登録票を身分証明書と照合し、相違点、または書類がないこと、無効であることを記録しなければなりません(§ 30(2))。州は観光税や保養税のための項目を追加できます(§ 30(3))。

保存期間は § 30(4) にあります。登録票は「vom Tag der Abreise der beherbergten Person an ein Jahr」保存し、その後「innerhalb von drei Monaten nach Ablauf der Aufbewahrungsfrist」廃棄します。電子データにも同じ期間が適用され、事業者は求めに応じて機械可読形式で当局に提出しなければなりません。スペインやイタリアと異なり、BMGには定期的な送信期限がありません。登録票は施設に保管し、求められたときに提示します。電子的な処理は、Reg. (EU) 2016/679、つまりGDPRの第24条、第25条、第32条を満たす必要があります(§ 30(5))。

イタリア:TULPS第109条とAlloggiati Web

イタリアの義務は、公安統合法であるTULPSの第109条と、2013年1月7日および2021年9月16日の省令に由来します。Normattivaにある条文の公式テキストはスクリプトで読み込まれるため、ここでの引用はデータを受け付ける国家警察のポータル、Alloggiati Webから取っています。そのトップページにはこうあります。

"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."

要するに、到着から24時間以内に、Alloggiati Webだけを通じて、宿泊者の身元情報を管轄の警察本部に送信します。滞在が24時間未満の場合は、到着時に送信します。

ポータルのFAQは3つの点を補足しています。

項目 FAQの記載
身元 第109条は「si può dare alloggio esclusivamente a persone munite di un documento idoneo ad attestarne l'identità」と定め、2021年に改正された2013年の省令に従いAlloggiati Webで通知する
短期賃貸 第109条の義務は30日未満の賃貸にも及ぶ(Decree-Law 113/2018 第19条の2)
受領証 「Le ricevute vanno conservate per cinque anni in formato digitale.」

5年というのはポータルの受領証、つまりデータを送信したことの証明についての期間である点に注意してください。FAQは宿泊者データそのものの保存については何も述べていません。

正確な項目リストは2013年の省令の技術附属書にあります。ポータルはこれをPDFファイルでしか公開しておらず、この記事のために原文どおり読むことができなかったため、項目ごとの分類は省いています。イタリア向けのフォームを作る前に、ポータル自身のマニュアルとコード表(「Manuali」と「Scarica tabelle」のページ)からリストを取得してください。引用したテキストで確認できるのは、宿泊者の「generalità」が送信されること、そしてすべての宿泊者に身分証明書が必要だということです。

3か国の比較

スペイン イタリア ドイツ
根拠 Real Decreto 933/2021 TULPS第109条、DM 7/01/2013(DM 16/09/2021で改正) BMG §§ 29, 30
登録対象 すべての宿泊者。14歳を超える全員が署名 すべての宿泊者。身分証明書が必要 外国人の宿泊者。同行者は人数のみ
氏名、生年月日、国籍 あり 「Generalità」(正確なリストは2013年の附属書) あり
性別 あり 2013年の附属書 なし
書類番号 番号と、スペインのカードでは支持体番号 2013年の附属書 パスポートのシリアル番号
住所 常居所の完全な住所 2013年の附属書 あり
電話とメール あり 2013年の附属書 なし
支払いデータ あり 引用したテキストに記載なし なし
期限 24時間 24時間。24時間未満の滞在は到着時 送信期限なし。到着当日に登録票に署名
経路 電子通信 Alloggiati Webのみ 施設で保管し、求めに応じて提示
保存 サービス終了から3年 受領証を5年 出発から1年、その後3か月以内に廃棄

これは引用したテキストを読んだ結果であり、法的助言ではありません。ドイツでは § 30(3) BMG が認めるように、地域の税規則によって項目がさらに追加されることがあります。

チェックインフォームが書類から事前入力できるもの

表を見れば重なりは明らかです。3か国すべてで、書類から取れる項目は同じ中核部分です。名、姓、生年月日、国籍、書類番号、書類の種類です。スペインはさらに性別を求めます。住所、電話、メール、滞在日程、同行者、支払いといった残りは、宿泊者または予約システムから取得します。

ここからシンプルなフォーム設計が導かれます。

  • データページの写真から書類の項目を事前入力する。 宿泊者は入力する代わりに確認するだけです。値が書類そのものから来るので、スペインの勅令第4.3条の正確性の義務と、§ 30(2) BMG の照合義務にも対応できます。
  • MRZチェックディジットを使う。 パスポートの機械読取領域には、書類番号、生年月日、有効期限に対するチェックディジットがあります。読み違いや打ち間違いがあるとチェックに失敗するので、フォームは記録を送信する前にそれを指摘できます。MRZチェッカーでは、各ディジットの計算方法を確認できます。
  • スペインの宿泊者には姓の分割を表示する。 パスポートでは姓の欄が1つ、フォームでは2つです。
  • その国が必要とするものだけを尋ねる。 ドイツの登録票には § 30(2) の項目「ausschließlich」しか記載しないので、スペインの電話やメールの項目を持ち込まないでください。
  • 期限をワークフローに組み込む。 スペインとイタリアは24時間、ドイツは到着当日が基準です。

doc.cheapの役割

doc.cheapは POST /v1/scans で1回の呼び出しにつき1枚の画像を読み取り、書類の項目をJSONで返します。holder.given_names、holder.surname、holder.birth_date、holder.sex、holder.nationality、そして document.kind、document.number、document.expiry_date、document.issuing_state です。mrz.status フィールドはチェックディジットが passed か failed かを示し、mrz.reason は何が失敗したかを示します。呼び出し方はパスポートの認識ガイド(英語)で説明しています。

ドキュメントにあるサンドボックスキーを使った、チェックインフォームへのマッピングの例です。

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",
};
// 住所、電話、メール、滞在日程、同行者は宿泊者から取得する。

APIはフォームの項目を埋めるだけです。警察、スペインの当局、Alloggiati Webには何も送信しません。送信は施設の管理システムの役割です。書類の画像そのものは一切保存されず、スキャンのオプションで retain_hours: 0 を指定すれば、結果も一切保存されません。

公開サンドボックスキーを使ってアカウントなしで試すことができます。doc.cheapには毎月100件の無料認識が含まれており、パスポートOCR APIの比較では、ほかのホスティング型サービスを公開料金とともに一覧にしています。

上記の法的な記述はすべて、リンク先のBOE、gesetze-im-internet.de、Alloggiati Webのページから引用しています。doc.cheapに関する記述はすべて、そのコードと照らし合わせて確認しました。

皆さんへの質問: あなたのチェックインフローはこれらの国のうち複数に対応していますか。国によって異なる項目はどう扱っていますか。下のコメント欄で教えてください。