Sitata APIを活用して旅行者の渡航制限を把握する方法
皆さんの中にはご存知ない方もいるかもしれませんが、Sitataの最初の基盤は疾病の早期検知のために構築されました。実際、創業者は2016年にTEDxトークで「疾病の拡散を防ぐために旅行者に警告すべき理由」について講演しています。ですから、私たちが2019年12月初旬に「異常な肺炎症例群」として報告されたCOVID-19の存在を知ったのも不思議ではありません。2020年1月2日、私たちの健康チームは旅行者とビジネスパートナー向けに最初の警告を発する必要があると判断しました。これは世界保健機関(WHO)よりも数日早い対応でした。
その後の避けられない影響の中で、私たちはある洞察を得ました。疾病の拡散が非常に速く進んだため、世界的な対応はせいぜい混乱を極めるだろうと明らかでした。各国は感染拡大を抑えるために独自の規制や規則を施行することになる。それは必然的に世界中に大混乱をもたらし、それでも旅行を希望する人々にとって大きな混乱の元となるだろう。私たちの予測は的中し、この問題に対処するための行動を起こすことにしました。Sitataは、COVID-19に伴う渡航制限と入国条件の変更を追跡する専用APIとサービスを世界で最初に構築した企業の一つです。高度なイベント検知ソフトウェアシステムと専門アナリストチームにより、私たちはこれを実現するためのすべてのツールとプロセスを既に有していました。
この新サービスを開始して以来、Eddy Travels、Flight Centre、Etihad Airwaysなど、複数の組織が自社の顧客のためにこのデータを活用しています。さらに多くの発表が間もなく行われます!より多くの旅行関連組織がこの提供を活用できるよう支援するため、以下では様々なユースケースでAPIをどのように使用するかを説明する多数の例を詳細に記述しました。これらの説明が、皆さん自身の取り組みを始める手助けとなれば幸いです。
入国条件
旅行者が最初に抱く疑問は、間違いなく「そこに行けるのか?」「隔離されるのか?」でしょう。ですから、ここから始めるのが良いでしょう。私たちは、国や地域への入国に関する「はい/いいえ」タイプの難しい質問に答えるために、入国条件データセットを作成しました。
本記事執筆時点で、このデータセットには以下の10の異なるカテゴリが含まれています:
- 居住者は入国可能か?
- 外国人は入国可能か?
- 国内通過(トランジット)は許可されているか?
- 到着時に検査が必要か(疾病発生時)?
- 検査証明書は認められるか(疾病発生時)?
- 到着時に隔離が必要か(疾病発生時)?
- ワクチン接種は必要か?
- 保険は必要か?
- 検査証明書は必要か?
- 登録フォームは必要か?(健康関連またはその他)
各カテゴリは以下のいずれかの値を取ります:
- はい
- はい(例外あり)
- いいえ
- いいえ(例外を除く)
ほとんどの値は「はい」と「いいえ」ですが、現場の状況は常に単純ではありません。時には、様々な政府が実施した本当に奇妙で非常識な規則があり、「例外あり」のタイプの値が必要となる場合があります。
入国条件は、基本的に、ある主体が他の一つまたは複数の国や地域に対して課した一連の規則を文書化したものです。私たちのデータ構造では、主体は国、州、さらには自治体となることもあります。全体として、Sitataは現在、国レベルのデータをカバーしています。ただし、米国などの一部の地域については、州/県レベルの記録もいくつか保持しています。
**origin_country_division_id** または **origin_country_region_id** フィールドにエントリがあるレコードは、それぞれ州レベルまたは自治体レベルのものです。より詳細なデータが必要な場合は、お問い合わせください。ご利用事例についてご相談させていただきます。
入国条件のデータ構造に慣れるために、ぜひAPIドキュメントをここで確認してください。
データ構造の一部、特に “origin(起源)” という用語の使用法は、やや混乱を招くかもしれません。この混乱は、開発者がしばしば「origin」を出身地や出発地と考えることに起因します。しかし、私たちが「origin」と意味するのは、実際には他の地域に課された規則の「発信源」、つまり制限を作成した国や地域のことです。
もう一つ重要な点は、影響を受ける国のリスト(affected_countries)の動作方法です。affected_countriesが空の場合、それはグローバルルール、つまりすべての国が影響を受けると解釈すべきです。
いくつかの例
ドキュメントでご覧いただいたように、APIからデータを取得する方法はいくつかあります。以下では、最も一般的なユースケースのいくつかを確認していきます。
2つの国間の要件を取得する方法は?
この種のリクエストを行う方法はいくつかあります。最もシンプルなバージョンは、**destination** と **departure** パラメータを使用する方法です。これらのパラメータはISO 3166-1 alpha-2コードを入力として受け付けます。
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination=IN
レスポンスには、出発国から出発し目的地の国へ旅行する旅行者が理解するために必要なすべての要件(国レベルおよび州レベル)が含まれます。
州レベルのデータが欲しい場合は?
Sitataは一部の地域について州レベルのデータを持っています。特定のエントリが州レベルのものであるかは、origin_country_division に値があるかどうかでわかります。また、**destination_country_division** パラメータを使用して州レベルのデータのみを取得するようにフィルタリングすることもできます。これはISO_3166-2の値を期待します。例えば、米国テキサス州の場合はUS-TXです。
GET https://www.sitata.com/api/v2/entry_requirements?departure=DE&destination_country_division=IN-AP
国で検索し、その後データを州でフィルタリングしてそのデータが存在するか確認し、存在すればそれを使用する方が簡単かもしれないことに注意してください。
2つの空港間の要件を取得する方法は?
国と同様に、Sitata APIは2つの空港間の結果を返すことができます。departure_airport と destination_airport パラメータは、ICAOまたはIATA空港コードを使用して結果をフィルタリングします。レスポンスには、対応する出発国から出発し目的地の国へ旅行する旅行者が理解するために必要なすべての制限(国レベルおよび州レベル)が含まれます。
GET https://www.sitata.com/api/v2/entry_requirements?departure_airport=MUC&destination_airport=BOM
レスポンスには、出発国から出発し目的地の国へ旅行する旅行者が理解するために必要なすべての制限(国レベルおよび州レベル)が含まれます。
都市の情報しかない場合は?
Sitataは、特定の都市名に基づくリクエストには応答しないことを選択しました。なぜなら、それは衝突や混乱を招く可能性があるからです。代わりに、私たちのAPIへのクエリは緯度・経度座標で受け付けることにしました。これにより、結果セットに曖昧さが生じることはありません。パラメータは departure_lat, departure_lng, destination_lat, destination_lng です。
GET https://www.sitata.com/api/v2/entry_requirements?departure_lat=48.13743&departure_lng=11.57549&destination_lat=19.0760&destination_lng=72.8777
都市を場所に基づいて解決し、座標に基づいてクエリを実行すれば、私たちのAPIは、出発国から出発し目的地の国へ旅行する旅行者が理解するために必要なすべての制限(国レベルおよび州レベル)で応答します。
追加情報
一部のタイプの入国条件には、extras と呼ばれるメタデータタイプのフィールドに関連する追加データがある場合があります。このフィールドは、特定の要件に関する様々な追加情報項目のキー/値マッピングです。
隔離日数は?
このデータエントリは、入国要件タイプ 5 に従います。このエントリでは、**extras** マッピングに quarantine_days というフィールドが含まれ、課される隔離日数を示す整数が格納されます。
入国前の陰性証明に必要な時間(時間)は?
このデータエントリは、入国要件タイプ 8 に従います。このエントリでは、**extras**** マッピングに entry_hours というフィールドが含まれ、入国前に陰性のCOVID検査が認められる時間数を示す整数が格納されます。
お知らせください
私たちは、旅行者が途中で遭遇する可能性のある事柄を理解する手助けとなる、あらゆるニーズに対応できる非常に堅牢なツールを持っていると考えています。もし私たちが扱っていない特定のユースケースがあれば、ぜひお知らせください!
待って… まだあります!
この記事は、入国条件と渡航制限情報のためにSitata APIとやり取りする方法を説明する2部構成シリーズの第1部です。これまで、国や地域に入国するために必要な「はい/いいえ」タイプの厳格な条件を記述する入国条件について話してきましたが、国内で何が起こるかについてはまだ話していません。国に入る方法を知ることは一つのことですが、国内を移動したりビーチを訪れたりできるかどうか、あるいは強制的な夜間外出禁止令があるかどうかを理解するのはまた別のことです。
渡航制限データシリーズを深掘りする第2記事にご期待ください。ヒント:ほとんど同じ構造ですので、待っている間もAPIドキュメントを参照できます。