【解決手段】機内サーバ300は、端末100から、ユーザ700の注文を受信すると、認証用の情報の入力を要求する。ユーザ700は、端末100に、搭乗券に記載された予約番号を含む、認証用の情報を入力する。端末100は、入力された情報を機内サーバ300へ送信する。機内サーバ300は、入力された情報と乗客情報に登録された情報とが一致するか否かを判断し、一致すると判断するとユーザ700を認証する。ユーザ700を認証すると、機内サーバ300は、上記注文に従った決済情報を、ユーザ700の乗客情報に登録する。
前記注文に基づいて、前記外部機器による前記決済のオーソリゼーションの承認の有無に拘わらず、商品情報を更新するステップをさらに備える、請求項6に記載の決済方法。
前記外部機器が前記決済のオーソリゼーションを否認した場合に、前記注文に基づいた前記商品情報の更新を元に戻すステップをさらに備える、請求項7に記載の決済方法。
前記商品は、前記フライトの航空機内で販売される物品、前記フライトの航空機内における座席変更、および、降機後の交通、イベント、もしくは宿泊のチケットの中の少なくとも1つを含む、請求項10に記載の決済方法。
【発明を実施するための形態】
【0020】
以下に、図面を参照しつつ、決済システムの一実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
【0021】
[1.決済システムの概要の説明]
図1は、決済システムの構成を概略的に示す図である。
図1に示されるように、決済システムは、端末100と、予約サーバ200と、機内サーバ300と、チェックイン機400と、決済代行サービス用サーバ500と、ペイメント用サーバ510と、商品管理サーバ600とを含む。
【0022】
端末100は、たとえばパーソナルコンピュータやスマートフォンなどの、汎用の情報端末によって構成される。
【0023】
予約サーバ200は、フライトを管理する。予約サーバ200は、航空会社によって運営されてもよいし、旅行代理店によって運営されてもよい。
図1では、各乗客のフライトの情報が「予約情報」として示される。
【0024】
機内サーバ300は、クレジットカード情報などのセキュリティの高い情報を扱うことなく、決済に関する処理を実施する、情報処理装置の一例である。機内サーバ300は、たとえば航空機内(以下、単に「機内」ともいう)に搭載された場合、航空機の飛行中に商品の購入などについて仮決済を実施する。航空機の着陸後、機内サーバ300は、外部機器と通信することにより、クレジットカード会社などの決済を実行する主体に対して上記仮決済のオーソリゼーションを要求する。
【0025】
チェックイン機400は、予約情報に基づいて搭乗券を出力する。
決済代行サービス用サーバ500は、クレジットカード情報などの決済用情報をユーザから受信すると、ユーザに対し、当該決済用情報に対応するトークンを発行する。一実現例では、トークンは、クレジットカード情報の暗号化などによって生成された文字列である。ペイメント用サーバ510は、クレジットカード会社などの、クレジット決済を実行する主体によって運営される。
図1の決済システムにおいて、決済代行サービス用サーバ500とペイメント用サーバ510とは、いわゆる「トークン決済」に利用される。
【0026】
商品管理サーバ600は、機内サーバ300の決済の対象となる商品の情報を管理する。
【0027】
図1には、ステップ(1)〜ステップ(18)の順に、要素間で実施される処理の流れが示される。
図1を参照して、決済システムにおける処理の流れを概略的に説明する。
【0028】
ステップ(1)フライト予約
ユーザ700は、端末100を利用して予約サーバ200にアクセスし、フライトを予約する。
図2は、フライト予約において端末100に表示される画面の一例を示す図である。
図2の画面20は、たとえば端末100のプロセッサが所与のアプリケーションを実行することによって、端末100のディスプレイに表示される。
【0029】
図2の画面20において、欄21には、フライトの便名などの情報が示される。欄22には、変更後の座席を指定する情報が示される。欄23には、機内での決済の要否を登録するための情報が示される。要否は、たとえばソフトウェアボタン23Aをクリックすることによって切り替えられる。端末100の入力装置が操作されることによって、画面20に表示される情報が適宜更新される。ソフトウェアボタン24は、画面20に表示されたフライトの予約情報を確定させるために操作される。確定された予約情報は、予約サーバ200へ送信される。
【0030】
ステップ(2)トークン要求
予約されたフライトにおいてユーザが機内での決済を必要とする場合、ユーザ700に対してクレジットカード情報に対応するトークンの入力が要求される。トークンの入力の要求は、端末100上の予約用のアプリケーションが実施してもよいし、予約サーバ200が実施してもよい。
【0031】
ステップ(3)決済用情報を送信
トークンを要求されると、ユーザ700は、端末100を利用して、決済代行サービス用サーバ500へ決済用情報(たとえば、クレジットカード情報)を送信する。
【0032】
ステップ(4)トークン発行
決済代行サービス用サーバ500は、端末100から受信した決済用情報を用いて、端末100に対してトークンを発行する。
【0033】
ステップ(5)トークン送信
端末100は、決済代行サービス用サーバ500から受信したトークンを予約サーバ200へ送信する。これにより、予約サーバ200は、フライト予約の情報とトークンとを関連付けて、記憶装置に格納する。なお、フライト予約において、ユーザが機内での決済を必要としない情報を登録した場合には、フライト予約の情報にはトークンは関連付けられなくてもよい。
【0034】
ステップ(6)予約番号送信
フライトの予約が完了すると、予約サーバは、端末100へ予約番号を送信する。
【0035】
ステップ(7)抽出された予約情報のダウンロード
機内サーバ300には、予約サーバ200から、当該機内サーバ300が搭載されるフライトの乗客情報がダウンロードされる。一例では、機内サーバ300が搭載されるフライトの便名を入力されると、予約サーバ200は、予約情報の中から該当するフライトの乗客の情報を抽出する。予約サーバ200は、抽出された情報を、乗客情報として、機内サーバ300へダウンロードする。乗客情報として、フライトの乗客の中の、トークンを登録された乗客のみの情報が抽出されてもよい。
【0036】
ステップ(8)商品情報のダウンロード
商品管理サーバ600において登録される商品情報から、機内で販売される商品の情報が抽出されて、機内サーバ300へダウンロードされる。一例では、機内サーバ300が搭載されるフライトの便名の入力を受け付けると、商品管理サーバ600は、便名に基づいて、商品の情報を抽出する。商品の抽出は、到着地および/または到着予定時刻に従って抽出されてもよい。商品管理サーバ600は、抽出された商品情報を機内サーバ300へダウンロードする。
【0037】
商品の一例は、機内食である。他の例は、タオルやキーホルダーなどの物品である。さらに他の例は、機内の座席変更である。さらに他の例は、到着地における、交通手段、イベント、または、宿泊のチケット(有体物である乗車券や入場券や宿泊券の発券を伴わない、ウェブ予約のようなコンピュータ上での情報の変更も含む)である。
【0038】
飛行中、機内サーバ300は商品管理サーバ600と通信できない場合があり得る。このような場合のために、上記商品は、いわゆる「ラストミニッツ」のイベントチケットまたは宿泊サービスなどの、機内サーバ300が搭載される航空機の機内で売り切られることを目的としたものであって、航空機外で販売されることが意図されていないものであってもよい。
【0039】
ステップ(9)〜ステップ(12)予約番号の入力〜搭乗券出力
ユーザ700は、チェックイン機400に予約番号を入力する(ステップ(9))。チェックイン機400は、入力された予約番号を予約サーバ200に照会する(ステップ(10))。予約サーバ200は、チェックイン機400に対して、照会された予約番号に対応する予約情報を送信する(ステップ(11))。チェックイン機400は、予約サーバ200から送信された予約番号に対応する搭乗券を出力する(ステップ(12))。
【0040】
図3は、搭乗券の出力のためにユーザ700がチェックイン機400の前に立っている場面の一例を示す図である。
図3には、チェックイン機400から出力される搭乗券の一例が、左方に拡大されて示されている。
【0041】
チェックイン機400は、タッチモニタ440と、搭乗券プリンタ432と、二次元コードスキャナ433とを含む。タッチモニタ440は、タッチパネル441と、ディスプレイ442とを含む。ユーザ700は、タッチパネル441に予約番号を入力する。予約番号はバーコードまたは二次元コード等の図形で供給されていてもよく、ユーザ700は、二次元コードスキャナ433に予約番号を入力してもよい。チェックイン機400は、入力された予約番号に対応する搭乗券に対応する搭乗券を搭乗券プリンタ432から出力する。予約番号が二次元コードで提供される場合、採用されるコードの種類は、
図3に記載されたものに限定されず、QR(登録商標)コードなどの他の種類であってもよい。
【0042】
搭乗券30には、ユーザ700の予約に関する種々の情報が記載されている。搭乗券30には、二次元コードは、予約番号および/または予約番号に関連する情報を表わす。搭乗券30には、さらに、便名、出発時刻、搭乗口、座席番号、出発の日付、予約番号、および、予約者の氏名が記載されている。
【0043】
搭乗券30は、搭乗券に記載された1つ以上の日付が誕生日と一致する乗客に対するメッセージ「Happy Birthday!」など、乗客情報に応じたメッセージを表示する欄を含んでいても良い。また、搭乗券30は、広告欄を含んでいても良い。当該広告欄に表示される広告は、乗客情報に従って選択されてもよい。
【0044】
ステップ(13)〜ステップ(15)注文、認証要求、仮決済
ユーザ700は、機内で、機内サーバ300へ、商品の注文および認証要求を出力する。
図4は、ユーザ700が機内で商品の注文などのために端末100を使用する場面の一例を示す図である。
図4に示されるように、ユーザ700は、機内の座席で端末100を操作する。端末100は、中継器800を経由して機内サーバ300と通信する。
【0045】
一実現例では、端末100からのアクセスを受け付けると、端末100に対して、商品購入のウェブページを提供する。当該ウェブページに対して、ユーザ700は、端末100に対して商品の注文を入力する。注文は、機内サーバ300へと送信される。注文を受信すると、機内サーバ300は、端末100に対して、乗客を認証するための情報(認証用の情報)の入力を要求する。当該要求に応じて、端末100には、認証用の情報の入力を促すメッセージが表示される。
【0046】
上記メッセージに応じて、ユーザ700は、端末100を用いて、認証用の情報を機内サーバ300へ送信することにより、機内サーバ300に対して認証を要求する。認証用の情報の一例は、予約番号とメールアドレスである。
【0047】
機内サーバ300は、ユーザ700から入力された認証用の情報を機内サーバ300内の乗客情報と照合することにより、ユーザ700を認証する。
【0048】
ユーザ700の認証に成功すると、機内サーバ300は注文を仮決済する。すなわち、機内サーバ300は、ペイメント用サーバ510における最終的な決済を伴わず、機内サーバ300のみにおいて決済を実施する。一実現例では、機内サーバ300は、注文に従って、後述する商品情報および乗客情報を更新する。機内サーバ300は、注文に従って、ユーザ(乗客)に商品が提供されるための処理を実行してもよい。処理の一例は、客室乗務員に対して、ユーザ(乗客)への商品提供の指示を表示することである。当該指示は、たとえば、客室乗務員が携帯する端末および/または客室乗務員用のモニタに表示される。
【0049】
ステップ(16)〜ステップ(17)オーソリゼーション要求
機内サーバ300は、決済代行サービス用サーバ500に、トークンと仮決済の金額とを送信することにより、仮決済のオーソリゼーションを要求する。
【0050】
図5は、機内サーバ300を搭載する航空機が空港に着陸した場面を模式的に示す図である。
図5の例では、機内サーバ300は、航空機900の機内に位置している。一実現例では、機内サーバ300は、
図5に示されるように、航空機900が着陸したことによって地上の決済代行サービス用サーバ500との通信が可能になったことに応じて、決済代行サービス用サーバ500に仮決済のオーソリゼーションを要求する。
【0051】
機内サーバ300からの要求に応じて、決済代行サービス用サーバ500は、機内サーバ300から送信されたトークンの発行時に利用された決済用情報を抽出し、当該決済用情報と金額とをペイメント用サーバ510へ送信することにより、ペイメント用サーバ510に対して仮決済のオーソリゼーションを要求する。
【0052】
(18)〜(19)オーソリゼーション結果送信
ペイメント用サーバ510は、決済用情報と金額とに基づいて、上記仮決済のオーソリゼーションを実施し、その結果(成功/失敗)を決済代行サービス用サーバ500へ送信する。決済代行サービス用サーバ500は、ペイメント用サーバ510から受信した結果を機内サーバ300へ送信する。
【0053】
(20)事後処理
機内サーバ300は、仮決済のオーソリゼーションの結果に従って、仮決済に対する事後的な処理を実施する。
【0054】
事後的な処理の一例は、結果が成功であった場合に、未だユーザ(乗客)へ提供されていない商品の提供を客室乗務員に対して指示ための情報を所与のモニタに表示することである。
【0055】
他の例は、結果が成功であった場合に、外部のサーバに対して、乗客に商品を提供するための追加的な情報を登録することである。たとえば、機内でタオルとキーホルダーが注文され、当該注文の仮決済のオーソリゼーションが成功した場合、機内サーバ300は、乗客について登録された住所へのタオルおよびキーホルダーの送付を指示する情報をこれらの商品の発送を管理するサーバへ送信する。
【0056】
さらに他の例は、結果が成功であった場合に、外部のサーバに対して、イベント参加者の情報または宿泊者の情報として、乗客の情報を送信することである。
【0057】
さらに他の例は、結果が失敗であった場合に、既に乗客に対して商品の返還を要求することを客室乗務員に対して指示することである。
【0058】
さらに他の例は、結果が失敗であり、かつ、ペイメント用サーバ510からのオーソリゼーションの結果にクレジットカードの不正使用に関する情報が付与されている場合に、警報を出力することであってもよい。機内サーバ300は、航空機の着陸後であって「ドアオープン」の前にオーソリゼーション結果を受信した場合、空港警察等の適切な機関によって管理されるサーバに上記警告を出力してもよい。これにより、クレジットカード情報を不正利用しようとしたユーザ(乗客)が航空機を出るときに、上記機関によって、その身柄が確実に確保され得る。
【0059】
[2.ハードウェア構成]
以下、
図6〜
図9を参照して、決済システムを構成する装置のハードウェア構成を説明する。
【0060】
(端末100)
図6は、端末100のハードウェア構成の一例を示す図である。
図6に示されるように、端末100は、プロセッサ101と、RAM(Random Access Memory)102と、記憶装置103と、マイクロフォン(マイク)104と、スピーカ105と、ディスプレイ106と、入力装置107と、通信インターフェース108と、カメラ109と、近距離通信インターフェース110とを備えている。端末100内の各要素は、互いに内部バスで接続されている。プロセッサ101は、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field-Programmable Gate Array)、またはそれらの組み合わせなどによって構成される。
【0061】
RAM102は、プロセッサ101における処理実行時の作業領域として機能する。記憶装置103は、たとえばフラッシュメモリによって実現され、プロセッサ101が実行するプログラム(アプリケーションプログラムを含む)および当該プログラムの実行に利用されるデータを非一時的に格納する。
【0062】
マイク104は、入力された音声に応じた信号を、プロセッサ101へ出力する。スピーカ105は、プロセッサ101から出力される信号に従って、音声を出力する。ディスプレイ106は、プロセッサ101によって実行されるプログラムの処理結果を示す画像を表示する。入力装置107は、端末100に対する入力操作を受け付ける。入力装置107は、たとえば、ハードウェアボタン、および/または、ディスプレイ106上に配置されたタッチセンサである。
【0063】
通信インターフェース108は、たとえば、ネットワークカードによって実現される。プロセッサ101は、通信インターフェース108を介して他の装置とデータを送受信する。カメラ109は、CMOS(Complementary Metal-Oxide Semiconductor)イメージセンサ等を含み、画像を撮影し、撮影された画像をプロセッサ101へ出力する。近距離通信インターフェース110は、端末100にBluetooth(登録商標)などの近距離通信規格に従った態様で他の機器と通信させる。
【0064】
(予約サーバ200)
図7は、予約サーバ200のハードウェア構成の一例を示す図である。
図7に示されるように、予約サーバ200は、プロセッサ201と、通信インターフェース203と、記憶装置205とを含む。プロセッサ201は、通信インターフェース203を用いて、機内サーバ300等の他の装置との間で情報を送受信する。プロセッサ201は、たとえば、少なくとも1つのCPUによって実現される。
【0065】
記憶装置205は、たとえば、ハードディスク、SSD(Solid State Drive)等によって実現されるが、これに限定されない。記憶装置205は、プログラム格納領域260とデータ格納領域270とを含む。プログラム格納領域260は、プロセッサ201によって実行されるプログラムを非一時的に格納する。プロセッサ201によって実行されるプログラムは、予約サーバ200の本体に対して着脱可能なまたは離間した記録媒体に格納されていてもよい。記憶装置205は、プロセッサ201のプログラムの実行における作業領域として機能するRAMを含む。データ格納領域270は、予約情報を含む種々のデータを格納する。
【0066】
(機内サーバ300)
図8は、機内サーバ300のハードウェア構成の一例を示す図である。
図8に示されるように、機内サーバ300は、プロセッサ301と、通信インターフェース303と、記憶装置305とを含む。プロセッサ301は、通信インターフェース303を用いて、予約サーバ200、商品管理サーバ600、および端末100等の他の装置との間で情報を送受信する。他の装置との間の情報の送受信は、中継器(
図4の中継器800等)を介して実現されてもよい。プロセッサ301は、たとえば、少なくとも1つのCPUによって実現される。
【0067】
記憶装置305は、たとえば、ハードディスク、SSD等によって実現されるが、これに限定されない。記憶装置305は、プログラム格納領域360とデータ格納領域270とを含む。プログラム格納領域360は、プロセッサ301によって実行されるプログラムを非一時的に格納する。プロセッサ301によって実行されるプログラムは、機内サーバ300の本体に対して着脱可能なまたは離間した記録媒体に格納されていてもよい。記憶装置305は、プロセッサ301のプログラムの実行における作業領域として機能するRAMを含む。データ格納領域370は、乗客情報および商品情報を含む種々のデータを格納する。
【0068】
機内サーバ300は、航空機に対して着脱可能に構成されてもよい。たとえば、予約サーバ200および/または商品管理サーバ600との通信の一部が実行される際には、機内サーバ300は、航空機の外に配置され、電話回線に有線で接続されていてもよい。この意味において、機内サーバ300は、航空機に装着されているか否かを検出するためのセンサを備えていても良い。
【0069】
(チェックイン機400)
図9は、チェックイン機400のハードウェア構成の一例を示す図である。
図9に示されるように、チェックイン機400は、プロセッサ401と、通信インターフェース403と、記憶装置405とを含む。プロセッサ401は、通信インターフェース403を用いて、予約サーバ200等の他の装置との間で情報を送受信する。プロセッサ401は、たとえば、少なくとも1つのCPUによって実現される。
【0070】
記憶装置405は、たとえば、ハードディスク、SSD等によって実現されるが、これに限定されない。記憶装置405は、プログラム格納領域360とデータ格納領域270とを含む。プログラム格納領域360は、プロセッサ401によって実行されるプログラムを非一時的に格納する。プロセッサ401によって実行されるプログラムは、チェックイン機400の本体に対して着脱可能なまたは離間した記録媒体に格納されていてもよい。
【0071】
図3を参照して説明されたように、チェックイン機400は、タッチモニタ440と、搭乗券プリンタ432と、二次元コードスキャナ433とを含む。タッチモニタ440は、タッチパネル441とディスプレイ442とを含む。タッチパネル441は、静電容量式タッチセンサなどのいかなるタッチセンサによっても実現され得る。ディスプレイ442は、タッチパネル441に重ねられて構成され、液晶ディスプレイおよび/または有機EL(Electro Luminescence)ディスプレイなどのいかなるディスプレイによっても実現され得る。
【0072】
搭乗券プリンタ432は、記録用紙に情報を印刷し、当該記録用紙を搭乗券として出力する。二次元コードスキャナ433は、読み取った画像をプロセッサ401に向けて出力する。
【0073】
[3.データ構造]
図10および
図11を参照して、予約情報、乗客情報、および商品情報のデータ構成の一例を説明する。
【0074】
(予約情報および乗客情報)
図10は、予約情報および乗客情報のデータ構成の一例を模式的に示す図である。
図10の上方に示されるように、予約情報は、日付、便名、乗客の氏名、メールアドレス、予約番号、座席番号、およびトークンに関する情報を含む。
図10において、各ユーザのトークンは、「TK001」等の5つの文字から構成される文字列によって模式的に示されている。予約サーバ200によって管理される予約情報は、2以上のフライトのそれぞれの乗客の情報を含んでいても良い。
【0075】
図10の下方に示されるように、乗客情報は、予約情報の中から、機内サーバ300が搭載されるフライトの乗客の情報が抽出されて構成される。
図10の例では、乗客情報は、予約情報に格納される内容から、2019年4月27日の便名MM225に係るフライトの乗客であって、機内での決済が必要であることを登録している乗客の情報が抽出されたものである。
【0076】
プロセッサ301は、予約サーバ200から機内サーバ300へ予約情報がダウンロードされる時点で乗客情報を生成する。乗客情報では、各乗客に対して、さらに決済情報が定義される。決済情報は、3つの項目(金額、商品ID、および、オーソリゼーション結果)を含む。金額は、乗客に対して仮決済された金額を表す。商品IDは、仮決済によって購入された商品を表す。オーソリゼーション結果は、仮決済に対するペイメント用サーバ510によるオーソリゼーションの結果を表す。各項目の値は、乗客情報の生成後、適宜更新され得る。
【0077】
(商品情報)
図11は、商品情報のデータ構成の一例を示す図である。商品情報は、4つの項目(商品ID、商品名、価格、および残数)を含む。商品IDは、商品に割り振られたIDを表す。商品名は、商品の名称を表す。価格は、商品の価格を表す。残数は、販売可能な商品の数量を表す。たとえば、
図11の例において、商品名「鯖カレー」の商品の残数は20である。このことは、機内で販売可能な当該商品の数量が20食であることを表す。各項目の値は、乗客情報の生成後、適宜更新され得る。
【0078】
[4.処理の流れ]
次に、決済システム内の4つの処理(「フライト予約処理」「準備処理」「仮決済処理」および「決済情報のオーソリゼーション処理」)について、
図12〜
図20を参照して説明する。
【0079】
(フライト予約処理)
図12は、フライト予約処理(
図1の(1))のフローチャートである。一実現例では、フライト予約処理は、予約サーバ200のプロセッサ201が所与のプログラムを実行することによって実現される。フライト予約処理は、予約情報として登録される情報を受け付けるため処理である。
【0080】
ステップS10にて、プロセッサ201は、端末100においてフライトの予約に必要な情報が入力されたか否かを判断する。フライトの予約に必要な情報は、たとえば、乗客の氏名およびメールアドレスを含む。プロセッサ201は、当該情報が入力されていないと判断すると(ステップS10にてNO)、一定時間待機し、ステップS10の処理を再び実行し、当該情報がされたと判断すると(ステップS10にてYES)、ステップS20へ制御を進める。
【0081】
ステップS20にて、プロセッサ201は、入力された情報を予約情報(
図10)に登録する。なお、プロセッサ201は、公知の技術に従って空席情報を参照し、入力された情報に対応するフライト予約が可能であることを条件として、入力された情報を予約情報に登録する。また、プロセッサ201は、当該フライト予約に係る決済が確定したこと条件として、入力された情報を予約情報に登録してもよい。
【0082】
ステップS30にて、プロセッサ201は、処理対象のフライトにおいてユーザ(乗客)から入力された情報が、機内決済を必要としているものであるか否かを判断する。プロセッサーは、入力された情報が機内決済を必要としているものであると判断すると(ステップS30にてYES)、ステップS40へ制御を進め、そうでなければ(ステップS30にてNO)、ステップS60へ制御を進める。
【0083】
ステップS40にて、プロセッサ201は、ユーザに対して、決済用情報に対応するトークンを要求する。一実現例では、プロセッサ201は、ユーザが操作している端末100に対して、トークンの入力を要求するメッセージを送信する。プロセッサ201は、さらに、端末100に対して、トークンの取得方法の説明および/またはトークンを取得するためのアクセス先の情報を送信してもよい。これに応じて、ユーザは、端末100を利用してトークンを取得し、予約サーバ200へ送信する。
【0084】
ステップS50にて、プロセッサ201は、端末100から送信されたトークンを予約情報に登録する。
【0085】
ステップS60にて、プロセッサ201は、ステップS10〜ステップS50において入力された情報に従って登録した予約に新たな予約番号を割り当て、当該予約番号を予約情報に登録し、そして、当該予約情報を端末100に送信する。その後、プロセッサ201は
図12の処理を終了する。
【0086】
以上、
図12を参照して説明されたフライト予約処理では、フライト予約が機内決済を必要とする情報を含む場合、フライトを予約したユーザの決済用情報に対応するトークンがさらに登録される。
【0087】
なお、フライト予約処理は、端末100に格納された予約用のアプリケーションの処理として実現されることもあり得る。この場合、端末100のプロセッサ101は、ステップS20およびステップS50において、予約情報に必要な情報およびトークンを予約サーバ200に対して送信する。これに応じて、プロセッサ201は、端末100から送信された情報を予約情報に登録する。
【0088】
(準備処理)
図13は、準備処理のフローチャートである。準備処理は、
図1において(7)で示された、機内サーバ300への予約情報(乗客情報)のダウンロード、および、
図1において(8)で示された、機内サーバ300への商品情報のダウンロードのための処理である。一実現例では、準備処理は、機内サーバ300のプロセッサ301が所与のプログラムを実行することによって実現される。
【0089】
ステップS100にて、プロセッサ301は、予約サーバ200へ乗客情報を要求する。当該要求は、プロセッサ301を含む機内サーバ300が搭載されるフライトの日付および便名を特定する情報を伴っていても良い。予約サーバ200のプロセッサ201は、予約情報から、機内サーバ300が搭載されるフライトの日付および便名に関連付けられ、さらに、機内決済を必要としている乗客に関連付けられた情報を抽出して、機内サーバ300へ送信する。
【0090】
ステップS110にて、プロセッサ301は、予約サーバ200から送信された乗客情報を記憶装置305に格納する。
【0091】
ステップS120にて、プロセッサ301は、商品管理サーバ600へ商品情報を要求する。一実現例では、商品管理サーバ600では、フライトごとに商品情報が登録されている。商品管理サーバ600は、機内サーバ300からの要求に応じて、機内サーバ300が搭載されるフライトに関連付けられた商品情報を、機内サーバ300へ送信する。
【0092】
ステップS130にて、プロセッサ301は、商品管理サーバ600から送信された商品情報を記憶装置305に格納する。その後、プロセッサ301は
図13の処理を終了する。
【0093】
以上説明された準備処理は、機内サーバ300が、予約サーバ200および商品管理サーバ600のそれぞれから予約情報(乗客情報)および商品情報のそれぞれをプルするための処理に相当する。なお、予約サーバ200および商品管理サーバ600のそれぞれから機内サーバ300へ、予約情報(乗客情報)および商品情報のそれぞれがプッシュされることによって、機内サーバ300に予約情報(乗客情報)および商品情報が登録されてもよい。
【0094】
(仮決済処理)
図14〜
図17を参照して、仮決済処理について説明する。
図14は、機内で商品を購入するユーザ700の端末100に表示される、注文用の画面の一例を示す図である。
図15は、仮決済処理のフローチャートである。
図16は、端末100において表示される、認証用の情報の入力を要求する画面の一例である。
図17は、更新後の商品情報の一例を示す図である。
【0095】
図14に示されるように、画面1400は、商品名を表示する欄1401と、商品の数量を表示する欄1403と、商品の購入を確定させるボタン1405とを含む。注文する商品の数量は、欄1403内の上側の三角形または下側の三角形がタッチされることによって変更され得る。一実現例では、仮決済処理は、端末100から機内サーバ300へ、ボタン1405を操作されたことを表す情報が送信されたことに応じて開始される。一実現例では、仮決済処理は、機内サーバ300のプロセッサ301が所与のプログラムを実行することによって実現される。「仮」は、仮決済処理が、ペイメント用サーバ510における決済ではなく、ペイメント用サーバ510における決済を予約するための処理であることを意味する。一実現例では、仮決済処理は、機内サーバ300を搭載する航空機の飛行中に、機内におけるユーザ700の注文を取得する処理である。
【0096】
図15を参照して、ステップS200にて、プロセッサ301は、端末100から、ボタン1405に対応する注文を取得する。より具体的には、プロセッサ301は、ボタン1405に対応する注文とは、ボタン1405を含む画面1400に表示された商品の注文を意味する。
【0097】
ステップS210にて、プロセッサ301は、端末100に対して、認証用の情報を要求する。当該要求に応じて、端末100は、ユーザ700に、認証用の情報の入力を要求する画面を表示する。
【0098】
ここで、
図16を参照して、画面1600は、領域1601と領域1602とを含む。領域1601は、認証用の情報の入力を受け付ける。認証用の情報は、予約番号とメールアドレスとを含む。予約番号は、搭乗券に記載されている。このため、ユーザ700は、搭乗券を参照することにより、領域1601に予約番号を入力できる。領域1602は、購入される商品の金額、すなわち、将来のペイメント用サーバ510における決済の対象となる金額を表示する。
【0099】
画面1600は、送信ボタン1603を含む。送信ボタン1603がタッチされたことに応じて、端末100は、領域1601に認証用の情報を機内サーバ300へ送信する。
【0100】
図15を再び参照して、ステップS220にて、プロセッサ301は、端末100から送信される認証用の情報を取得する。
【0101】
ステップS230にて、プロセッサ301は、ステップS220にて取得された認証用の情報が正しいものであるか否かを判断する。一実現例では、プロセッサ301は、ステップS220にて取得された認証用の情報(予約番号とメールアドレスとの組合せ)が、乗客情報に登録されている情報と一致する場合に正しいと判断し、一致しない場合に正しくないと判断する。プロセッサ301は、ステップS220にて取得された認証用の情報が正しいと判断するとステップS240へ制御を進め(ステップS230にてYES)、正しくないと判断するとステップS260へ制御を進める(ステップS230にてNO)。
【0102】
ステップS240にて、プロセッサ301は、注文の対象商品(領域1602に表示された商品)について、商品情報を更新する。ここで、
図17を参照して、商品「鯖カレー」が数量1だけ購入された場合、
図11に示された商品情報は、
図17に示されたように更新される。
図17では、
図11と比較して、商品「鯖カレー」の残数が1減少(20→19)している。
【0103】
図15を再び参照して、ステップS250にて、プロセッサ301は、注文の対象商品に基づく決済情報を、ユーザ700の乗客情報に登録するように、乗客情報を更新する。その後、プロセッサ301は、
図15の処理を終了する。
【0104】
図18は、更新後の乗客情報の一例を示す図である。たとえば、商品「鯖カレー」が数量1だけ注文された場合、
図10に示された乗客情報は、
図18に示されたように更新される。
図18では、
図10と比較して、氏名「TARO YAMADA」の決済情報において、金額の欄の数値が商品名「鯖カレー」の代金800円だけ増加し、商品IDの欄に商品名「鯖カレー」の商品ID(00100)が追加されている。
図18の例では、当該注文についてのペイメント用サーバ510による決済は完了していないので、「オーソリゼーション結果」の値として「未」が登録されている。
【0105】
プロセッサ301は、注文が可能か否かを商品情報の残数の数値を参照して判断することができる。たとえば、商品情報が
図17に示された状態にあるときに、20個の「鯖カレー」が注文されようとした場合を想定する。注文数量(20)は残数(19)を超えている。このため、プロセッサ301は、当該注文は不可能であると判断する。このような場合、プロセッサ301は、
図15の開始時に、ステップS210を実行することなくステップS260を実行して、
図15の処理を終了させてもよい。
【0106】
プロセッサ301は、ステップS240における商品情報の更新とともに、乗客に商品を提供するための制御を実施しても良い。乗客に商品を提供するための制御の一例は、客室乗務員が視認可能なディスプレイに、乗客に商品の提供を指示する情報を表示することである。一実現例では、当該表示は、メッセージ「座席番号『23F』のお客様へ、商品『鯖カレー』を数量『1』提供してください。」を含む。
【0107】
以上説明された仮決済処理によれば、ペイメント用サーバ510による最終的な決済を待たずに、注文に従って商品情報が更新される。なお、次に説明される決済情報のオーソリゼーション処理において、注文に対応する決済のオーソリゼーションの結果が「失敗」であった場合に、プロセッサ301は、商品情報を元に戻してもよく、また、既に商品が乗客に提供されている場合に、乗客へ商品の返還を要求するように客室乗務員に指示してもよい。
【0108】
(決済情報のオーソリゼーション処理)
図19は、決済情報のオーソリゼーション処理のフローチャートである。一実現例では、決済情報のオーソリゼーション処理は、機内サーバ300のプロセッサ301が所与のプログラムを実行することによって実現される。一実現例では、プロセッサ301は、機内サーバ300が搭載されている航空機が着陸して、地上のネットワークに接続可能な状態となったことを条件として、決済情報のオーソリゼーション処理を開始する。
【0109】
ステップS300にて、プロセッサ301は、決済代行サービス用サーバ500へのアクセスを試み、当該アクセスが成功したか否かを判断する。プロセッサ301は、当該アクセスが失敗したと判断すると(ステップS300にてNO)、所定のタイムアウト制限まで一定間隔後にステップS300を再び実行する。プロセッサ301は、当該アクセスが成功したと判断すると(ステップS300にてYES)、ステップS310へ制御を進める。
【0110】
ステップS310にて、プロセッサ301は、乗客情報において決済情報を登録されている乗客を特定する。決済情報を登録されていることは、決済情報における金額の欄の数値が0円以外であることを意味する。
図18の例では、氏名「TARO YAMADA」の乗客の金額の欄の数値は800円であり、氏名「HANAKO SUZUKI」の乗客の金額の欄の数値は0円である。この場合、氏名「HANAKO SUZUKI」の乗客は決済情報を登録されていないと判断される。すなわち、ステップS310において、氏名「TARO YAMADA」の乗客が決済情報を登録されている乗客として特定される。
【0111】
ステップS320にて、プロセッサ301は、ステップS310にて特定された乗客についてのオーソリゼーションの要求を決済代行サービス用サーバ500へ送信する。当該要求は、上記乗客についての決済情報の金額とトークンとを含む。当該要求に応じて、決済代行サービス用サーバ500は、送信されたトークンを当該トークンに対応する決済用情報へ置き換える。その後、決済代行サービス用サーバ500は、決済用情報と送信された金額とを、ペイメント用サーバ510へ送信する。これにより、ペイメント用サーバ510に対して、上記乗客についての決済のオーソリゼーションが要求される。ペイメント用サーバ510は、決済代行サービス用サーバ500へオーソリゼーションの結果を送信する。決済代行サービス用サーバ500は、当該結果を機内サーバ300へ送信する。
【0112】
ステップS330にて、プロセッサ301は、決済代行サービス用サーバ500から送信されたオーソリゼーションの結果を受信する。
【0113】
ステップS340にて、プロセッサ301は、オーソリゼーションの結果を乗客情報に登録する。
図20は、更新後の乗客情報の一例を示す図である。
図18と比較して、
図20では、氏名「TARO YAMADA」のオーソリゼーション結果の欄に値「成功」が登録されている。
【0114】
図19に戻って、ステップS350にて、事後処理を実施する。ステップS350の制御は、
図1の「(20)事後処理」に相当する。事後処理の一例は、結果が「成功」であった場合に、未だユーザ(乗客)へ提供されていない商品の提供を、客室乗務員に対して指示することである。事後処理として、乗客情報を予約サーバ200等の外部の装置へ送信してもよい。これにより、当該外部の装置において、ユーザに関する商品の購入履歴が管理され得る。他の例は、結果が「失敗」であった場合に、商品情報を元に戻すこと(たとえば、仮決済処理で減らした「残数」の数値を元に戻すこと)である。その後、プロセッサ301は
図19の処理を終了させる。
【0115】
[5.機内で販売される商品の変形例]
図21〜
図23のそれぞれは、端末100に表示される注文用の画面の変形例を示す図である。
【0116】
(座席変更)
図21の画面2100は、乗客が、当該乗客に割り当てられた座席番号を変更するために、新たな座席指定を購入するための画面である。画面2100は、選択可能な座席番号を表示するための欄2101と、注文の対象となる座席番号を表示するための欄2103と、注文を決定するためのボタン2105とを含む。一実現例では、端末100から、ボタン2105を操作されたことを示す情報を受信すると、機内サーバ300のプロセッサ301は仮決済処理を開始する。
【0117】
プロセッサ301は、端末100へ、欄2103において表示される選択可能な座席番号を指定する情報を送信してもよい。より具体的には、プロセッサ301は、予約情報(
図10)から、対象のフライトにおいて購入済の座席番号を抽出していてもよく、当該購入済の座席番号以外の座席番号を、選択可能な座席番号として表示するように機内サーバ300へ指示してもよい。航空機においてブロックごとに重量のバランスが調整されている場合、プロセッサ301は、ある乗客に対して表示される「選択可能な座席番号」として、端末100に、当該乗客に既に割り当てられているブロックと同じブロック内の座席番号のみを表示することを指示しても良い。
【0118】
図21の欄2101では、4種類の座席の種類(ファストシート、スマートシート、プレジャーシート、スタンダードシート)が示され、座席番号ごとに座席の種類が割り当てられている。座席の種類によって、座席指定に要する金額が異なる。
【0119】
図21の例では、仮決済処理における商品情報の更新(ステップS240)とともに、プロセッサ301は、新たな座席番号を端末100に通知する。プロセッサ301は、さらに、乗客情報において、乗客の座席番号を、新たな座席番号へと変更する。
【0120】
(降機後のイベント)
図22の画面2200は、乗客が、降機後のイベントに参加する権利を購入するための画面である。画面2200は、イベントの情報を表示する欄2201と、イベントの内容および金額を表示する欄2103と、当該権利の購入を決定するためのボタン2205とを含む。一実現例では、端末100から、ボタン2205を操作されたことを示す情報を受信すると、機内サーバ300のプロセッサ301は仮決済処理を開始する。
【0121】
図22の例では、ペイメント用サーバ510による仮決済のオーソリゼーションが成功すると、機内サーバ300のプロセッサ301は、イベントの参加者を管理する装置へ、イベントの参加者として、乗客の情報を送信する。
【0122】
同様に、機内では、ホテルで宿泊する権利が販売され得る。ホテルの宿泊の仮決済処理の終了後、ペイメント用サーバ510による仮決済のオーソリゼーションが成功すると、機内サーバ300のプロセッサ301は、ホテルの宿泊客を管理する装置へ、宿泊客として、乗客の情報を送信する。
【0123】
(降機後の交通手段)
図23の画面2300は、乗客が、降機後の交通手段のチケットを購入するための画面である。画面2300は、交通手段の概要を表示する欄2301と、交通手段の具体的な内容および価格を表示する欄2303と、チケットの購入を決定するためのボタン2305とを含む。一実現例では、機内サーバ300のプロセッサ301は、ボタン2305を操作されたことを示す情報を端末100から受信すると、仮決済処理を開始する。
【0124】
仮決済が完了すると、プロセッサ301は、客室乗務員が視認可能なディスプレイに、乗客にチケットを提供する指示を表示する。
【0125】
[6.その他の変形例]
本開示において説明された「トークン決済」を用いた決済は、決済システムにおける決済態様の一例である。「トークン決済」を用いた決済が採用されると、機内サーバ300を運用する事業者は、クレジットカード情報を扱うための機関としての認証(たとえば、PCI−DSS(Payment Card Industry Data Security Standard)認証)を必要とされない。一方で、決済システムにおいて決済代行サービス用サーバ500は省略されてもよい。すなわち、機内サーバ300に、トークンの代わりにクレジットカード情報が入力(登録)されてもよい。機内サーバ300は、クレジットカード情報を用いて、ペイメント用サーバ510に、直接、決済のオーソリゼーションを要求してもよい。
【0126】
搭乗券は紙等の有体物として出力されなくてもよい。他の実現例では、チェックイン機400は、予約番号を入力されると、端末100に対して、搭乗券を出力するために必要な情報を送信してもよい。これにより、端末100は、搭乗券30に相当する情報を表示することができる。ユーザ700は、搭乗口で、搭乗券30に相当する情報の表示を係員に提示してもよい。
【0127】
機内サーバ300への注文および/または認証用の情報の入力には、ユーザによって機内へ持ち込まれた端末100の代わりに、機内に設置された端末(機内端末)が使用されてもよい。当該端末は、機内サーバ300と、有線または無線により通信可能に接続され得る。通信形式は特に限られない。認証用の情報の入力は、予約番号の数値の入力の代わりに、二次元コードなどの図形の入力によって実現されてもよい。図形の入力は、たとえば、ユーザ700が搭乗券30の二次元コードをカメラ109で撮影することによって実現される。
【0128】
本開示では、乗客が搭乗のために確実に持参している搭乗券が、乗客の認証に利用される。認証用の情報は、「予約番号とメールアドレスの組み合わせ」以外であってもよい。認証用の情報は、たとえば、予約情報のみであってもよいし、座席番号であってもよいし、乗客の氏名であってもよいし、搭乗券に記載された二次元コードであってもよいし、シーケンス番号(便毎にチェックインした順番に割り振られる番号)であってもよいし、チケット番号(いわゆる「eチケット番号」または航空券番号。)であってもよい。
【0129】
認証用情報における「メールアドレス」は、搭乗券に記載されていない情報の一例である。乗客の認証に、搭乗券に記載された情報だけでなく、搭乗券に記載されていない情報も利用されることにより、乗客の認証のセキュリティが向上され得る。すなわち、万が一、第三者が搭乗券を取得しても、当該第三者が搭乗券に記載された情報のみによって、本来の乗客として認証される事態が回避され得る。
【0130】
本開示では、ユーザ700(乗客)は、機内で、客室乗務員に直接声をかける必要なく、端末100を利用して、商品を購入できる。これにより、乗客は、より手軽に商品を購入できるようになり、窓側の座席の乗客など、隣席の乗客を意識して客室乗務員に声をかけにくかった乗客の、商品の購買意欲が向上され得る。
【0131】
搭乗券を利用した乗客の認証の場所は、機内に限定されない。空港内の売店や、到着後に乗客が乗車するバスや電車の車内、または、到着後に乗客(ユーザ)が訪れた街の店舗であってもよい。この場合、売店、車内、または店舗のサーバが、「機内サーバ300」として機能する。
【0132】
今回開示された各実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。