(57)【要約】【課題】  外部システム停止中の検索・予約受付を可能にする。【解決手段】  入力装置、出力装置、処理装置、記憶装置を備える情報処理装置により、商品の予約を行う予約方法が開示される。この方法では、記入力装置により、検索要求を受信し、処理装置により、検索要求に基づいて検索処理を実行し、出力装置により、検索処理の結果を検索結果回答として送信する。そして、第１の時間帯において処理装置は、外部システムのデータを検索することにより検索処理を実行し、記憶装置に、検索処理の結果を検索結果蓄積情報として記憶する。そして、第２の時間帯において処理装置は、検索結果蓄積情報を検索することにより検索処理を実行する。【選択図】  図２
2019061417.tif 000002
【特許請求の範囲】
【請求項１】
入力装置、出力装置、処理装置、記憶装置を備える情報処理装置により、商品の予約を行う予約方法において、
前記入力装置により、検索要求を受信し、
前記処理装置により、前記検索要求に基づいて検索処理を実行し、
前記出力装置により、前記検索処理の結果を検索結果回答として送信し、
第１の時間帯において前記処理装置は、
外部システムのデータを検索することにより前記検索処理を実行し、
前記記憶装置に、前記検索処理の結果を検索結果蓄積情報として記憶し、
第２の時間帯において前記処理装置は、
前記検索結果蓄積情報を検索することにより前記検索処理を実行する、
予約方法。
【請求項２】
前記第１の時間帯は、前記外部システムが稼働中の時間帯であり、
前記第２の時間帯は、前記外部システムが非稼働中の時間帯である、
請求項１記載の予約方法。
【請求項３】
前記外部システムは、前記商品の在庫を管理する在庫管理システム、および、前記在庫管理システムを検索する在庫検索システムであり、
前記第１の時間帯において前記処理装置は、前記在庫検索システムに前記在庫管理システムを検索させることにより、前記検索処理を実行する、
請求項２記載の予約方法。
【請求項４】
前記入力装置により、前記検索結果回答に対する予約要求を受信し、
前記処理装置は、前記第１の時間帯に前記予約要求を受信した場合には、
前記記憶装置に前記予約要求の内容を予約情報として記憶するとともに、前記在庫管理システムに前記予約要求を反映して予約実行を行い、前記出力装置から予約結果回答を送信し、
前記処理装置は、前記第２の時間帯に前記予約要求を受信した場合には、
前記記憶装置に前記予約要求の内容を予約情報として記憶するとともに、前記予約要求の内容に対応した情報を予約受付情報として記憶する、
請求項３記載の予約方法。
【請求項５】
前記処理装置は、前記第２の時間帯に前記予約要求を受信した場合には、その後の前記第１の時間帯において、前記在庫管理システムに前記予約受付情報で特定される前記予約要求を反映して、前記出力装置から予約結果回答を送信する、
請求項４記載の予約方法。
【請求項６】
前記第１の時間帯において、前記在庫管理システムに前記予約受付情報で特定される前記予約要求を反映するのに伴い、前記予約情報および予約受付情報の内容を更新する、
請求項５記載の予約方法。
【請求項７】
記憶装置と、検索処理部と、予約処理部と、通信処理部とを備え、商品の予約を行う予約システムであって、
前記通信処理部は、ユーザ端末および外部システムとの通信を可能とし、
前記検索処理部は、
前記ユーザ端末から送信される検索要求に基づいて、前記通信処理部を経由して前記外部システムに検索実行を指示する機能を備え、さらに、
前記通信処理部を経由して前記外部システムから送信される検索結果を、前記記憶装置に検索結果蓄積情報として記憶する検索結果蓄積処理部と、
前記ユーザ端末から送信される検索要求に基づいて、前記検索結果蓄積情報を検索する蓄積情報検索処理部と、
を有する、予約システム。
【請求項８】
前記検索処理部は、前記外部システムが稼働していない場合、前記蓄積情報検索処理部で前記検索結果蓄積情報を検索する、
請求項７記載の予約システム。
【請求項９】
前記記憶装置は、前記外部システムの稼動状態に関する情報を格納する外部システム運用情報を格納し、
前記検索処理部は、前記外部システム運用情報を参照して、前記外部システムが稼働しているかどうかを判定する、
請求項８記載の予約システム。
【請求項１０】
前記通信処理部は、前記検索結果蓄積情報を検索した蓄積情報検索結果を前記ユーザ端末に送信し、
前記予約処理部は、
前記蓄積情報検索結果に対して前記ユーザ端末から送信される予約要求に対応する情報を、予約受付情報として前記記憶装置に格納する予約受付処理部と、
前記外部システムが稼働している場合、前記予約受付情報に基づいて、前記外部システムをアクセスする受付予約実施処理部を備える、
請求項８記載の予約システム。
【請求項１１】
前記予約受付処理部が、前記予約受付情報を前記記憶装置に格納した際には、前記通信処理部は、前記ユーザ端末に予約受付を回答し、
前記予約受付の後、前記受付予約実施処理部が前記外部システムをアクセスした際には、前記通信処理部は、前記ユーザ端末に予約結果を回答する、
請求項１０記載の予約システム。
【請求項１２】
前記検索結果蓄積情報は、前記検索要求と、該検索要求に対する検索結果を対応付けた情報であり、前記蓄積情報検索処理部で前記検索結果蓄積情報を検索する際には、前記検索要求と前記検索結果の両方を検索対象として使用する、
請求項８記載の予約システム。
【請求項１３】
列車の予約に用いる予約システムであって、
前記検索要求には、列車の出発駅、到着駅、および乗車時刻に関する情報が含まれ、
前記検索結果には、前記乗車時刻以降で最も早い列車の乗車時刻に関する情報である最速列車時刻が含まれる、
請求項１２記載の予約システム。
【請求項１４】
前記蓄積情報検索処理部で前記検索結果蓄積情報を検索する際に、当該検索に用いる検索要求に含まれる検索乗車時刻に対して、
前記乗車時刻が前記検索乗車時刻以前であり、かつ、前記最速列車時刻が前記検索乗車時刻以降である列車を抽出する。
請求項１３記載の予約システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、商品あるいは役務・サービス（以下総称して「商品」という）の予約を行う技術に関する。例えば、交通分野における列車の座席予約システムに関する。
【背景技術】
【０００２】
本願発明の背景技術として、特開２０１４−１７４７０６号公報がある。この公報には、座席予約システムがオフラインとなる契機の各列車の残席数を用いて予約要求を受け付ける技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１７４７０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術では、自システム内に在庫情報を持たず、外部システム側で在庫管理されている場合に、外部システム停止中の検索・予約受付をすることができない。
【０００５】
このため、自システムが稼動しているにもかかわらず、外部システムの稼働状況によっては、検索・予約処理を行うことができない。これは、ユーザの検索・予約要求（リクエスト）に対して、応答できない時間帯が生じるということであり、ユーザの利便性に制約を与えていた。
【課題を解決するための手段】
【０００６】
本発明の一側面は、入力装置、出力装置、処理装置、記憶装置を備える情報処理装置により、商品の予約を行う予約方法である。この方法では、記入力装置により、検索要求を受信し、処理装置により、検索要求に基づいて検索処理を実行し、出力装置により、検索処理の結果を検索結果回答として送信する。そして、第１の時間帯において処理装置は、外部システムのデータを検索することにより検索処理を実行し、記憶装置に、検索処理の結果を検索結果蓄積情報として記憶する。そして、第２の時間帯において処理装置は、検索結果蓄積情報を検索することにより検索処理を実行する。
【０００７】
本発明の他の一側面は、記憶装置と、検索処理部と、予約処理部と、通信処理部とを備え、商品の予約を行う予約システムである。このシステムでは、通信処理部は、ユーザ端末および外部システムとの通信を可能とする。検索処理部は、ユーザ端末から送信される検索要求に基づいて、通信処理部を経由して外部システムに検索実行を指示する機能を備え、さらに、通信処理部を経由して外部システムから送信される検索結果を、記憶装置に検索結果蓄積情報として記憶する検索結果蓄積処理部と、ユーザ端末から送信される検索要求に基づいて、検索結果蓄積情報を検索する蓄積情報検索処理部と、を有する。
【発明の効果】
【０００８】
外部システム停止中であっても、列車などの商品の予約受付が可能となる。
【図面の簡単な説明】
【０００９】
【図１】外部システムを含む予約システムの全体構成図
【図２】装置の機能構成図
【図３】外部システムが運用中の検索・予約処理シーケンス図
【図４】外部システムが運用停止中の検索・予約処理シーケンス図
【図５】予約受付した予約の予約実行処理シーケンス図
【図６】検索処理フロー図
【図７】検索処理フロー（蓄積情報の検索処理詳細）図
【図８】予約処理フロー図
【図９】予約バッチ処理フロー図
【図１０】検索結果蓄積情報を示す表図
【図１１】予約情報を示す表図
【図１２】予約受付情報を示す表図
【図１３】外部システム運用情報を示す表図
【発明を実施するための形態】
【００１０】
以下、本願発明の実施例を、図面を用いて詳細に説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１１】
以下に説明する発明の構成において、同一部分又は同様な機能を有する部分には同一の符号を異なる図面間で共通して用い、重複する説明は省略することがある。
【００１２】
図面等において示す各構成の位置、大きさ、形状、範囲などは、発明の理解を容易にするため、実際の位置、大きさ、形状、範囲などを表していない場合がある。このため、本発明は、必ずしも、図面等に開示された位置、大きさ、形状、範囲などに限定されない。本明細書において単数形で表される構成要素は、特段文脈で明らかに示されない限り、複数形を含むものとする。
【００１３】
本明細書等における「第１」、「第２」、「第３」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
【００１４】
本実施例に係る予約システムの一例は、例えば記憶装置、処理装置、入力装置、出力装置を備える情報処理装置、典型的にはサーバにより構成される。記憶装置（記憶部）には、検索結果蓄積情報と、予約情報と、予約受付情報と、外部システム運用情報とが格納される。処理装置（処理部）は、検索結果蓄積情報を検索し、その検索結果を記憶部に蓄積する検索処理部と、ユーザ端末と外部システムにデータを送受信する通信処理部と、データを処理する制御処理部と、ユーザの予約を受付け、その予約を実施する予約処理部と、を備える。例えば、本実施例の一例である列車予約サービスセンタ装置は、外部システム在庫情報の蓄積・検索機能を備えることにより、外部システム停止中であっても、蓄積機能で蓄積した在庫情報を使用して列車検索を行うことができ、その検索結果で列車予約受付することが可能となる。
【００１５】
以上の構成は、単体の情報処理装置で構成してもよいし、あるいは、入力装置、出力装置、処理装置、記憶装置の任意の部分が、ネットワークで接続された他のコンピュータで構成されてもよい。本実施例中、ソフトウエアで構成した機能と同等の機能は、FPGA（Field Programmable Gate Array）、ASIC（Application Specific Integrated Circuit）などのハードウエアでも実現できる。そのような態様も本願発明の範囲に含まれる。
【実施例１】
【００１６】
＜１．予約システム全体構成＞
図１は、予約システムの全体構成を示す図である。予約システムは、列車予約サービスセンタ装置１と、ユーザ端末３と、がネットワーク２を介して接続され、かつ、列車予約サービスセンタ装置１と、列車在庫検索システム５と、列車在庫管理システム６と、がネットワーク４を介して接続されることで構成されている。
【００１７】
列車予約サービスセンタ装置１は、外部システムである列車在庫検索システム５および列車在庫管理システム６が停止している時間帯であっても列車予約を可能とさせるための装置である。以下では、列車在庫検索システム５および列車在庫管理システム６を総称して、「外部システム」と呼ぶ場合がある。外部システムと列車予約サービスセンタ装置１は、稼働時間が同じではなく、外部システムが稼動していない時間帯でも、列車予約サービスセンタ装置１が稼動している場合がある。列車予約サービスセンタ装置１の詳細な機能構成は図２で後述する。
【００１８】
ユーザ端末３は、ユーザが列車を予約する際に用いるユーザインタフェースを備える端末であり、ＰＣ（パーソナルコンピュータ）やスマートフォン等が用いられる。
【００１９】
列車在庫検索システム５は、ユーザが列車予約サービスセンタ装置１にアクセスした際に、列車予約サービスセンタ装置１からの在庫検索処理要求を受けて列車在庫管理システム６にアクセスし、在庫検索処理を行うシステムである。
【００２０】
列車在庫管理システム６は、列車在庫を管理するシステムであり、列車の便毎に座席の在庫が格納されているデータベースを備えている。なお、本実施例では、列車在庫検索システム５と列車在庫管理システム６は同一主体により運営されており、かつ当該主体の営業時間と列車予約サービスセンタ装置１の運営主体の営業時間にずれがある場合を想定している。
【００２１】
列車予約サービスセンタ装置１、列車在庫検索システム５、列車在庫管理システム６は、基本的にサーバのような情報処理装置で構成することができる。情報処理装置は、周知のように記憶装置、処理装置（プロセッサ）、入力装置及び出力装置を備える。本実施例では、計算や制御等の機能は、記憶装置に格納されたプログラムが処理装置によって実行されることで、定められた処理を他のハードウエアと協働して実現される。計算機などが実行するプログラム、その機能、あるいはその機能を実現する手段を、「機能」、「手段」、「部」、「ユニット」、「モジュール」等と呼ぶ場合がある。
【００２２】
＜２．列車予約サービスセンタ装置＞
図２は、列車予約サービスセンタ装置１の機能構成を示す図である。列車予約サービスセンタ装置１は、記憶装置２１００と、通信処理部２２００と、検索処理部２３００と、予約処理部２４００と、制御処理部２５００と、から構成されている。
【００２３】
記憶装置２１００は例えば磁気ディスク装置などで構成される。記憶装置２１００には、列車検索時にその応答として得られる座席の在庫を示す情報の蓄積情報を示す情報である検索結果蓄積情報２１０１と、列車予約時の予約者情報や予約内容を示す情報である予約情報２１０２と、外部システム非稼働中に受付した予約を示す情報である予約受付情報２１０３と、外部システムの稼働、非稼働の状態を示す情報である外部システム運用情報２１０４と、を備えている。なお、記憶装置２１００は、ネットワーク等を介して制御処理部２５００と接続されていてもよい。検索結果蓄積情報２１０１の詳細は図１０で、予約情報２１０２の詳細は図１１で、予約受付情報２１０３の詳細は図１２で、外部システム運用情報２１０４の詳細は図１３で、それぞれ後述する。
【００２４】
通信処理部２２００は、ネットワーク２、およびネットワーク４とのインターフェースであり、入力装置と出力装置の少なくとも一部を兼ねる。なお、図示していないが、列車予約サービスセンタ装置１は、通常のサーバと同様に、キーボード等の入力装置、画像モニタ、プリンタなどの出力装置を備えていてもよい。
【００２５】
検索処理部２３００は、外部システム稼働中に外部システムを用いて検索を行う機能を備えている。さらに本実施例では、外部システム非稼働中に検索結果蓄積情報２１０１から、検索要求内容に合致する在庫情報を検索するための処理を行う蓄積情報検索処理部２３０１と、列車在庫検索システムから受信した在庫情報を検索結果蓄積情報２１０１に保存するための処理を行う検索結果蓄積処理部２３０２と、を備えている。蓄積情報検索処理部２３０１および検索結果蓄積処理部２３０２の処理を含む、検索処理部２３００の詳細な処理フローは図６および図７で後述する。
【００２６】
予約処理部２４００は、外部システム稼働中に予約要求内容に応じた列車予約を実行するための機能を備えている。具体的には、予約要求内容に対応する列車が列車在庫管理システム６の在庫データに存在する場合は、それを予約済みとし、予約情報２１０２に登録する。さらに本実施例では、外部システム非稼働中の予約要求内容を予約受付情報２１０３に保存するための処理を行う予約受付処理部２４０１と、外部システム稼働中に予約受付情報２１０３に登録された予約を実行するための処理を行う受付予約実施処理部２４０２と、を備えている。予約受付処理部２４０１および受付予約実施処理部２４０２の詳細な処理フローは図８および図９でそれぞれ後述する。
【００２７】
制御処理部２５００は、通信処理部２２００が受信したデータの要求内容に応じて検索処理部２３００での検索処理、あるいは予約処理部２４００での予約処理を呼び出し、その結果を通信処理部２２００へ応答するための処理部である。また制御処理部２５００は、以降の説明で特に主体を明記しない処理全般を司り、システム全体の制御を行うものとする。
【００２８】
＜３．予約要求処理シーケンス（外部システム稼働中）＞
図３は、外部システムである列車在庫検索システム５および列車在庫管理システム６が稼働している時間帯における、列車予約サービスセンタ装置１がユーザ端末３から検索予約の要求を受けて処理を行うシーケンスを示す図である。本ケースは、列車予約サービスセンタ装置１と外部システムがともに稼動している、日中時間帯に列車予約をしようとした場合を想定している。各処理の詳細は図６、図８で後述する。
【００２９】
S3001は、列車予約サービスセンタ装置１が、ユーザ端末３から利用時刻、出発到着駅の条件を含む検索要求を受け付ける処理である。
【００３０】
S3002は、列車予約サービスセンタ装置１の検索処理部２３００が、ユーザ端末３から受け付けた検索要求に基づき、列車在庫検索システム５に検索実行を依頼する処理である。
【００３１】
S3003は、列車在庫検索システム５が、列車予約サービスセンタ装置１から依頼された内容で列車在庫管理システム６へ在庫の確認を行う処理である。
【００３２】
S3004は、列車在庫管理システム６が、列車在庫検索システム５へ在庫の状態を回答する処理である。
【００３３】
S3005は、列車在庫検索システム５が、列車予約サービスセンタ装置１へ依頼された内容に合致する列車の残数を回答する処理である。
【００３４】
S3006は、列車予約サービスセンタ装置１の検索結果蓄積処理部２３０２が、列車在庫検索システム５からの回答情報を検索結果蓄積情報２１０１に登録する処理である。S3006の処理により、外部システムの在庫情報を蓄積することで、外部システム停止中の列車検索用情報として用いることが可能となる。
【００３５】
S3007は、列車予約サービスセンタ装置１が、ユーザ端末３に列車検索の結果を回答する処理である。
【００３６】
S3008は、S3007で回答した列車の内、ユーザ端末３が選択した列車の予約要求を受け付ける処理である。このとき、人数分の座席を位置を特定せず予約してもよいし、座席の位置まで特定しても良い。
【００３７】
S3009は、列車予約サービスセンタ装置１の予約処理部２４００が、S3008で受け付けた列車の予約を列車在庫管理システム６へ行う処理である。すなわち、予約された列車の座席を予約済みとして登録し、以降の予約を不可とする。
【００３８】
S3010は、列車在庫管理システム６が、列車予約サービスセンタ装置１へ予約結果の回答を行う処理である。
【００３９】
S3011は、列車予約サービスセンタ装置１が、列車在庫管理システム６から回答された予約結果を予約情報２１０２に登録する処理である。
【００４０】
S3012は、列車予約サービスセンタ装置１が、予約結果をユーザ端末３に回答する処理である。
【００４１】
＜４．予約要求受付シーケンス（外部システム休止中）＞
図４は、外部システムである列車在庫検索システム５および列車在庫管理システム６が稼働していない時間帯における、列車予約サービスセンタ装置１がユーザ端末３から検索予約の要求を受けて処理を行うシーケンスを示す図である。本ケースは、深夜時間帯に列車予約をしようとした場合を想定している。各処理の詳細は図６、図７、図８で後述する。
【００４２】
S4001は、列車予約サービスセンタ装置１が、ユーザ端末３から利用時刻、出発到着駅の条件を含む検索要求を受け付ける処理である。
【００４３】
S4002は、列車予約サービスセンタ装置１の蓄積情報検索処理部２３０１が、ユーザ端末３から受け付けた検索要求に基づき、検索結果蓄積情報２１０１の検索を行う処理である。
【００４４】
S4003は、列車予約サービスセンタ装置１が、ユーザ端末３に検索結果を回答する処理である。S4002とS4003の処理により、列車在庫検索システム５が運用停止中であっても、前述のS3006で蓄積した情報を用いることで、列車予約サービスセンタ装置１はユーザ端末３に検索結果を回答することが可能となる。
【００４５】
S4004は、S4003で回答した列車の内、ユーザ端末３が選択した列車の予約要求を受け付ける処理である。
【００４６】
S4005は、列車予約サービスセンタ装置１の予約受付処理部２４０１が、S4004で受け付けた要求内容に応じた予約受付情報を予約情報２１０２と予約受付情報２１０３に登録する処理である。S4005の処理により、列車在庫管理システム６が運用停止中であっても、列車予約サービスセンタ装置１はユーザ端末３からの予約を受付けることが可能となる。
【００４７】
S4006は、列車予約サービスセンタ装置１が、予約受付結果をユーザ端末３に回答する処理である。
【００４８】
＜５．予約要求処理シーケンス（外部システム休止中⇒稼動中）＞
図５は、外部システムが稼働していない時間帯に予約受付した予約について、外部システム稼働後に予約処理を行うシーケンスを示す図である。各処理の詳細は、図８で後述する。
【００４９】
S5001は、列車予約サービスセンタ装置１の受付予約実施処理部２４０２が、予約受付情報２１０３から予約処理が未実施のものを検索する処理である。このとき、後に説明する図１２の１２００２の列を検索する。
【００５０】
S5002は、列車予約サービスセンタ装置１の受付予約実施処理部２４０２が、S5001で検索した列車の予約を列車在庫管理システム６へ行う処理である。すなわち、列車在庫管理システム６は、予約された列車の座席を予約済みとして登録し、以降の予約を不可とする。予約の内容は、後に説明する図１２の１２００４の列の内容である。
【００５１】
S5003は、列車在庫管理システム６が、列車予約サービスセンタ装置１へ予約結果の回答を行う処理である。回答の内容は、後に説明する図１２の１２００５の列の内容である。
【００５２】
S5004は、列車予約サービスセンタ装置１が、列車在庫管理システム６から回答された予約結果で予約情報２１０２と予約受付情報２１０３を更新する処理である。具体的には、後に説明する図１１の予約状況１１００４の列を更新する。また、図１２の処理状態１２００２、予約結果１２００３および予約回答電文１２００５の列を更新する。
【００５３】
S5005は、列車予約サービスセンタ装置１が、ユーザ端末３に予約結果をメール送信して予約結果を回答する処理である。
【００５４】
＜６．検索処理部の処理フロー＞
図６は、検索処理部２３００の詳細な処理フローを示す図である。本処理は、ユーザ端末３から検索を受けてその結果を回答する際に動く処理である。
【００５５】
S6001は、ユーザ端末３から検索要求を受け付ける処理である。
【００５６】
S6002は、列車在庫検索システムが運用中か否かを判定する処理である。具体的には、S6001の受信時刻が列車在庫検索システム５の運用時間帯に入っており、正常稼働中であればYesと判定してS6003に進み、そうでなければNoと判定してS6008に進む。運用時間帯の情報は、外部システム運用情報２１０４を参照することにより取得することができる。なお、S6002でYesとなるフローは日中時間帯に検索を受付けたケース、Noとなるフローは外部システムの運用時間外となる深夜時間帯や、外部システムが障害等により臨時で停止してしまっている時間帯に検索を受付けたケースを想定している。
【００５７】
S6003は、S6002でYesと判定された場合に、列車検索要求の内容に応じた列車在庫検索システム向けの検索要求を作成する処理である。
【００５８】
S6004は、列車在庫検索システム５に検索要求を送信する処理である。
【００５９】
S6005は、列車在庫検索システム５から回答を受信したかを判定する処理である。既に回答を受信している場合にはYesと判定してS6006に進み、そうでなければNoと判定して回答を受信するまでループする。
【００６０】
S6006は、S6005で列車在庫検索システム５から回答ありと判定された場合に、検索結果蓄積処理部２３０２がその回答を検索結果蓄積情報２１０１に保存する処理である。
【００６１】
S6007は、ユーザ端末に検索結果を回答する処理である。この処理を実施した後、検索処理部２３００は全体処理を終了する。
【００６２】
S6008は、S6002でNoと判定された場合に、蓄積情報検索処理部２３０１が列車検索要求の内容に応じた条件で検索結果蓄積情報２１０１を検索する処理である。検索の詳細は図７で後述する。
【００６３】
S6009は、蓄積情報検索処理部２３０１が、検索結果蓄積情報２１０１にデータが存在するかを判定する処理である。検索結果蓄積情報２１０１にデータが存在すればYesと判定してS6007に進み、そうでなければNoと判定してS1010に進む。S6008とS6009の処理により、外部システムである列車在庫検索システムが運用停止中であっても、検索結果蓄積情報２１０１に蓄積した情報を使用することで列車検索を行うことが可能となる。列車検索の結果はユーザ端末３に回答され、ユーザは外部システムが稼動しているのと同様のレスポンスを受けることができる。
【００６４】
S6010は、S6009でNoと判定された場合に、ユーザ端末に検索受付を停止中である旨を回答する処理である。この処理を実施した後、検索処理部２３００は全体処理を終了する。
【００６５】
＜７．蓄積情報検索処理部の処理フロー＞
図７は、S6008で蓄積情報検索処理部２３０１が行っている処理の詳細な処理フローの例を示す図である。説明中にある検索結果蓄積情報２１０１のレコードの項目値については図１０で後述する。この処理は、ユーザ端末３からの検索要求に対して、検索結果蓄積情報２１０１内に、要求を満足する情報があるかどうかを検索する処理である。
【００６６】
S7001は、検索結果蓄積情報２１０１のレコードの出発駅と到着駅（後に図１０で説明する１０００３と１０００４の項目である）と検索要求情報の出発駅と到着駅が同一か判定する処理である。同一であればＹｅｓと判定してS7002に進み、そうでなければNoと判定して次のレコードの処理に進む。
【００６７】
S7002は、検索結果蓄積情報２１０１のレコードの乗車日（後に図１０で説明する１０００５の項目の日付である）と検索要求情報の乗車日が同一か判定する処理である。同一であればＹｅｓと判定してS7003に進み、そうでなければNoと判定して次のレコードの処理に進む。
【００６８】
S7003は、検索結果蓄積情報２１０１のレコードの乗車時刻（後に図１０で説明する１０００５の項目の時刻である）が検索要求情報の乗車時刻以前か判定する処理である。以前であればＹｅｓと判定してS7004に進み、そうでなければNoと判定して次のレコードの処理に進む。
【００６９】
S7004は、検索結果蓄積情報２１０１のレコードの最速列車時刻（後に図１０で説明する１０００７の項目の時刻である）が検索要求情報の乗車時刻以降か判定する処理である。以降であればＹｅｓと判定してS7004に進み、そうでなければNoと判定して次のレコードの処理に進む。
【００７０】
S7005は、検索結果蓄積情報２１０１のレコードの登録（後に図１０で説明する１０００６の項目の時刻である）が最新か判定する処理である。最新であればＹｅｓと判定してS7007に進み、そうでなければNoと判定して次のレコードの処理に進む。
【００７１】
S7006は、検索結果蓄積情報２１０１内にユーザへ回答可能なデータが存在しなかった場合に、検索受付停止中の回答情報を作成する処理である。この処理を実施した後、S6009の処理に進む。
【００７２】
S7007は、検索結果蓄積情報２１０１内にユーザへ回答可能なデータが存在した場合に、結果RAWデータから検索結果の回答情報を作成する処理である。この処理を実施した後、S6009の処理に進む。
【００７３】
以上のように、図７の処理では検索要求と検索結果の両方を検索対象として使用することにより、よりユーザの要求に適合した結果を抽出することが期待できる。なお、図７のフローの処理は一例であり、種々の変形がありうる。例えば、処理S7003と処理S7004の条件の代わりに、「検索乗車時刻以降３０分以内に最速列車時刻を持つものがあるか？」という条件を用いても良い。また、処理S7005では登録時刻が最新のデータであることを条件としているが、直近３０分以内の登録であることを条件としても良い。また、料金や経由地など他の条件を追加することも可能である。また、すでに予約済みの座席等との重複を防ぐため、予約情報２１０２を参照し、これに登録済みの座席等は検索結果から除外するようにしてもよい。
【００７４】
＜８．予約処理部の処理フロー＞
図８は予約処理部２４００の詳細な処理フローを示す図である。本処理は、ユーザ端末３から予約要求、もしくは予約受付要求を受けてその結果を回答する際に動く処理である。
【００７５】
S8001は、ユーザ端末から予約要求あるいは予約受付要求を受け付ける処理である。
【００７６】
S8002は、列車予約要求の内容に応じた列車在庫管理システム６向けの予約要求を作成する処理である。
【００７７】
S8003は、列車在庫管理システムが運用中か否かを判定する処理である。具体的には、S8001の受信時刻が列車在庫管理システムの運用時間帯に入っており、正常稼働中であればYesと判定してS8004に進み、そうでなければNoと判定してS8007に進む。なお、S8003でYesとなるフローは日中時間帯に予約を受付けたケース、Noとなるフローは外部システムの運用時間外となる深夜時間帯や、外部システムが障害等により臨時で停止してしまっている時間帯に予約を受付けたケースを想定している。運用時間帯の情報は、外部システム運用情報２１０４を参照することにより取得することができる。
【００７８】
S8004は、列車在庫管理システムに予約要求を送信する処理である。S8004〜S8006では、外部システムを用いて予約要求に従って予約を登録する処理である。
【００７９】
S8005は、列車在庫管理システムから回答を受信したかを判定する処理である。既に回答を受信している場合にはYesと判定してS8006に進み、そうでなければNoと判定して回答を受信するまでループする。
【００８０】
S8006は、S8005で列車在庫管理システムから回答ありと判定された場合に、ユーザ端末に予約結果を回答する処理である。この処理を実施した後、予約処理部２４００は回答した予約内容を予約情報２１０２に記録し、全体処理を終了する。なお、外部システムが稼働中の場合には、予約情報２１０２の内容は列車在庫管理システム６に反映される。よって予約結果は、ユーザの予約が列車予約サービスセンタ装置１に受け付けられ、かつ、外部システムの列車在庫管理システム６に反映されて予約が確定した状態を示している。
【００８１】
S8007は、S8003でNoと判定された場合に、予約受付処理部２４０１が列車在庫管理システム向けの予約要求を予約情報２１０２と予約受付情報２１０３に対応付けて保存する処理である。S8007の処理により、外部システムである列車在庫管理システムが運用停止中であっても、ユーザ端末からの列車予約を受付けることが可能となる。列車予約サービスセンタ装置が、ユーザ端末から受付けた列車予約を処理するフローについては図９で後述する。
【００８２】
S8008は、ユーザ端末に予約を受付けた旨を予約受付として回答する処理である。予約受付とは、ユーザの予約が列車予約サービスセンタ装置１に受け付けられ、その内部の予約情報２１０２や予約受付情報２１０３に記録されたが、外部システムの列車在庫管理システム６には反映されていない状態を示している。この処理を実施した後、予約処理部２４００は全体処理を終了する。
【００８３】
＜９．受付予約実施処理部の処理フロー＞
図９は、受付予約実施処理部２４０２の詳細な処理フローを示す図である。本処理は予約受付した予約情報を定期的に予約を行うため、一定時間毎に動く処理である。例えば、外部システムが１９時〜７時までの１２時間非稼動であるとすると、図８のS8007では１２時間分の予約（受付）要求が、予約受付情報２１０３に格納されることになる。この１２時間分のデータに対して、毎日７時に図９の処理を開始するようにすることができる。あるいは、１時間おきに図９の処理を繰り返すようにしてもよい。
【００８４】
S9001は、列車在庫管理システム６が運用中か否かを判定する処理である。具体的には、本処理の起動時刻が列車在庫管理システム６の運用時間帯に入っており、正常稼働中であればYesと判定してS9002に進み、そうでなければNoと判定して受付予約実施処理部２４０２は全体処理を終了する。運用時間帯の情報は、外部システム運用情報２１０４を参照することにより取得することができる。
【００８５】
S9002は、未処理状態の予約受付情報２１０３を取得する処理である。取得したレコード数分、S9003と、S9004と、S9005と、S9006の処理を繰り返した後、受付予約実施処理部２４０２は全体処理を終了する。
【００８６】
S9003は、S9002で取得したレコード内の予約要求を取得する処理である。
【００８７】
S9004は、列車在庫管理システムに予約要求を送信する処理である。
【００８８】
S9005は、列車在庫管理システムから回答を受信したかを判定する処理である。既に回答を受信している場合にはYesと判定してS9006に進み、そうでなければNoと判定して回答を受信するまでループする。
【００８９】
S9006は、ユーザに予約結果を送信する処理である。S9002と、S9003と、S9004と、S9005と、S9006の処理により、前述のS8007の処理で受付けた列車予約の座席を確保することが可能となる。
【００９０】
上記の処理により、外部システムが非稼動の状態にあるとき受け付けた予約受付情報２１０３は、外部システム稼動後に列車在庫管理システム６の内容を確認することにより、確定させることができる。システム構成にもよるが、列車予約サービスセンタ装置１と列車在庫管理システム６が一対一の関係であれば、予約受付情報２１０３の内容をそのまま確定できることが期待されるので、ユーザの利便性が向上する。
【００９１】
予約受付情報２１０３の内容がそのまま確定できる場合には、S9006の処理によりユーザにその旨を送信し、予約受付情報２１０３の当該データは、後に図１２の列１２００２に示すように処理状態「済」とし、列１２００３に示すように予約結果「成功」とする。また、対応する予約データは後に図１１の列１１００４に示すように、予約状況「予約済」として予約情報２１０２に残す。
【００９２】
予約受付情報２１０３の内容がそのまま確定できない場合、すなわち在庫がない場合には、当該予約受付情報の内容を検索要求として、図６のS6001〜S6007の処理を行う。すなわち、外部システム稼動中にその検索要求を受けたものと同様にして、改めて予約処理を行えばよい。当該処理終了後、S9006の処理によりユーザに予約内容を送信し、確定できなかった予約受付情報２１０３は、後に図１２の列１２００２に示すように処理状態「済」とし、列１２００３に示すように予約結果「失敗」とする。また、対応する予約データは後に図１１の列１１００４に示すように、予約状況「予約失敗」として予約情報２１０２に残す。そして、新たな予約を、予約情報２１０２の追加行として記録する。
【００９３】
なお、上記の例では予約情報２１０２や予約受付情報２１０３に予約が確定できなかったデータを残しているが、不要なデータとして削除してもよい。
【００９４】
＜１０.検索結果蓄積情報＞
図１０は、検索結果蓄積情報２１０１の詳細を示す図である。検索結果蓄積情報２１０１は、検索条件を示す列１０００１と、検索結果を示す列１０００２と、に大別される。列１０００１はユーザ端末３からの検索要求情報を、列１０００２は列車在庫検索システム５からの回答情報を、それぞれ意味している。
【００９５】
列１０００１は、出発駅を示す列１０００３と、到着駅を示す列１０００４と、乗車時刻を示す列１０００５と、から構成される。列１０００２は、登録時刻を示す列１０００６と、最速列車時刻を示す列１０００７と、結果RAWデータを示す列１０００８と、から構成される。
【００９６】
列１０００３は、ユーザから検索条件として指定された列車の出発駅を意味している。列１０００４は、ユーザから検索条件として指定された列車の到着駅を意味している。列１０００５は、ユーザから検索条件として指定された列車の乗車時刻を意味している。列１０００３と、列１０００４と、列１０００５はS6003の処理の中で登録される。
【００９７】
列１０００６は、列車在庫検索システムからの回答情報を受信した時刻を意味している。列１０００７は、列車在庫検索システムからの回答情報に含まれる列車の内、一番早い乗車時刻を意味している。すなわち、列１０００５の示す乗車時刻以降で、最も早い乗車時刻である。列１０００８は、列車在庫検索システムからの回答情報に加工処理を加えずに登録したデータ（RAWデータ）を意味している。RAWデータには、列車名、予約可能な座席、料金、その他の情報を含むことができ、予約情報の一部とすることができる。列１０００６と、列１０００７と、列１０００８はS6006の処理の中で登録される。
【００９８】
例えば、一番上の行は、ユーザから検索条件として「出発駅AAA1」、「到着駅BBB1」、及び「乗車時刻2017/2/10 10:00」が入力された場合に、「検索結果の列車の内、最速の列車出発時刻が2017/2/10 10:20」であった検索結果を「2017/1/20 15:11:22」に受信し、その結果をRAWデータとして登録していることを意味する。
【００９９】
例えば、S6009のデータ存在判定では、ユーザからの検索要求において、「要求の出発駅と列１０００３が一致する」、かつ、「要求の到着駅と列１０００４が一致する」、かつ、「要求の乗車時刻が列１０００５と列１０００７の時刻の間である」を満たすレコードが存在する場合にデータが存在すると判定する。なお、複数のレコードが存在した場合は列１０００６が最新のレコードを採用すればよい。
【０１００】
検索結果蓄積情報２１０１は、外部システムが稼働中に検索の都度蓄積することができる。記録された情報は、例えば現時刻が乗車時刻１０００５を過ぎたタイミングで順次消去してもよい。あるいは、外部システムが稼働開始するタイミングで、過去のデータを一括して消去してもよい。
【０１０１】
＜１１．予約情報＞
図１１は、予約情報２１０２の詳細を示す図である。列１１００１は、予約を一意に定める番号を意味している。列１１００２は、予約した列車の利用日を意味している。列１１００３は、予約した列車の列車情報と座席情報を意味している。列１１００４は、予約が成功か、失敗か、受付予約の処理待ちかの状態を意味している。列１１００５は、ユーザの連絡先を意味している。S9006の処理で予約結果を送信する送信先となる。列１１００６は、予約したユーザの個人情報を意味している。
【０１０２】
予約情報のデータレコードは、RAWデータやユーザ端末３から送信される情報を基にして、S8006およびS8008の処理で登録される。予約待ちとなったレコードは、S9006の処理の結果で列１１００４が更新される。例えば、一番上の行は、「2017/2/10」に「XXX nn1号」の列車を利用し、列車の予約を取れているユーザの予約情報を登録していることを意味する。
【０１０３】
＜１２．予約受付情報＞
図１２は、予約受付情報２１０３の詳細を示す図である。列１２００１は、予約を一意に定める番号を意味している。図１１の列１１００１との紐付情報となる。列１２００２は、受付予約処理が実施済か否かの状態を意味している。列１２００３は、受付予約処理で列車が予約できたか否かの状態を意味している。列１２００４は、列車在庫管理システムに送信する予約要求の情報を意味している。列１２００５は、列車在庫管理システムから回答された予約の情報を意味している。列１２００１と、列１２００２と、列１２００４はS8007の処理で登録される。列１２００２と、列１２００３と、列１２００５はS9006の処理で更新される。例えば、一番上の行は、「予約番号1111111」で登録された受付予約が、受付予約実施処理部２４０２の受付予約実施処理の結果、予約成功していることを意味する。
【０１０４】
＜１３．外部システム運用情報＞
図１３は、外部システム運用情報２１０４の詳細を示す図である。列１３００１は、外部システムの種類を意味している。列１３００２は、外部システムが運用状態か否かを意味している。列１３００３は、外部システムの運用開始時間を意味している。列１３００４は、外部システムの運用終了時間を意味している。「列１３００３＞列１３００４」の場合、列１３００４は翌日の時刻であるとみなす。S6002および、S8003および、S9001の運用中判定では、「列１３００３＜判定対象時刻＜列１３００４」を満たす場合に運用中と判定する。ただし、列１３００２が運用中以外の場合は上記判定結果にかかわらず運用停止中と判定する。例えば、二番目の行は、列車在庫管理システム６の運用時間帯が、「午前3時から翌日の午前1時まで」であることを意味している。
【０１０５】
以上の実施例で説明したように、本実施例の予約サービスセンタ装置は、外部システム稼働中に、ユーザの検索要求に対する検索結果を検索結果蓄積情報２１０１として保存しておき、外部システムのデータを検索できないときには、検索結果蓄積情報２１０１を検索して検索結果を得る。このような構成により、外部システム稼働中に自動的に、外部システム非稼働中に検索するためのデータを蓄積できる。また、複数のユーザがいたとしても、ユーザの大部分は同様のニーズを持っていることが想定できる場合、漫然と外部システムのデータのコピーを内部に保持した場合よりも、効率の良い検索が期待できる。
【０１０６】
以上の実施例では、列車の予約を扱うシステムを例に説明したが、航空機その他の交通機関や、サービス、あるいは有形の商品の予約を扱うシステムに適用することも可能である。これらの用途において、外部システムで商品の在庫管理がされている場合で、当該外部システムが停止中であっても、商品の検索・予約受付が可能となる。
【０１０７】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の実施例の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【０１０８】
１：  列車予約サービスセンタ装置
２１００：  記憶装置
２２００：  通信処理部
２３００：  検索処理部
２３０１：  蓄積情報検索処理部
２３０２：  検索結果蓄積処理部
２４００：  予約処理部
２４０１：  予約受付処理部
２４０２：  受付予約実施処理部
２５００：  制御処理部
【図１】
2019061417.tif 000003
【図２】
2019061417.tif 000004
【図３】
2019061417.tif 000005
【図４】
2019061417.tif 000006
【図５】
2019061417.tif 000007
【図６】
2019061417.tif 000008
【図７】
2019061417.tif 000009
【図８】
2019061417.tif 000010
【図９】
2019061417.tif 000011
【図１０】
2019061417.tif 000012
【図１１】
2019061417.tif 000013
【図１２】
2019061417.tif 000014
【図１３】
2019061417.tif 000015