(57)【要約】【課題】  乗車券と特急券を同時に購入する場合の特急券の誤購入を防止する。【解決手段】  乗車券の区間及び特急券等、乗車券に付随して使用される券の区間に関する情報を入力する入力部１７０、路線中の全駅に関し、下り方向に見た時の当該駅の次駅、前駅、及び路線の分岐がある場合、分岐後の当該駅の次駅に関する情報を格納した全駅路線チェーンテーブル３００を保持し、入力部から入力された特急券の区間が乗車券の区間内であるか否かを判定する判定部１１１、判定部によって特急券の区間が乗車券の区間外であると判定されたときその旨を表示する表示部１６０を有する。【選択図】  図１
2005284957.tif 000002
【特許請求の範囲】
【請求項１】
乗車券の区間及び該乗車券に付随する付随券の区間に関する情報を入力する入力部と、
路線中の全駅に関し、下り方向に見た時の当該駅の次駅、前駅、及び路線の分岐がある場合、分岐後の当該駅の次駅に関する情報を格納した全駅路線チェーンテーブルを保持し、前記入力部から入力された前記付随券の区間が前記乗車券の区間内であるか否かを判定する判定部と、
前記判定部によって前記付随券の区間が前記乗車券の区間外であると判定されたときその旨を表示する表示部と、
を有することを特徴とする自動発券機。
【請求項２】
請求項１記載の自動発券機において、前記判定部は、乗車券の区間に存在する全ての駅を探索し、前記付随券の発駅と着駅とが前記探索された駅の中にあるとき前記付随券の区間が前記乗車券の区間内であると判定し、それ以外のときは前記付随券の区間が前記乗車券の区間外であると判定することを特徴とする自動発券機。
【請求項３】
乗車券の区間及び該乗車券に付随する付随券の区間に関する情報を入力装置により入力する入力ステップと、
路線中の全駅に関し、下り方向に見た時の当該駅の次駅、前駅、及び路線の分岐がある場合、分岐後の当該駅の次駅に関する情報を格納した全駅路線チェーンテーブルを保持し、前記入力ステップで入力された前記付随券の区間が前記乗車券の区間内であるか否かを判定装置により判定する判定ステップと、
前記判定ステップによって前記付随券の区間が前記乗車券の区間外であると判定されたときその旨を表示装置により表示する表示ステップと、
を有することを特徴とする自動発券方法。
【請求項４】
請求項３記載の自動発券方法において、前記判定ステップは、乗車券の区間に存在する全ての駅を探索し、前記付随券の発駅と着駅とが前記探索された駅の中にあるとき前記付随券の区間が前記乗車券の区間内であると判定し、それ以外のときは前記付随券の区間が前記乗車券の区間外であると判定することを特徴とする自動発券方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自動発券機に係り、特に特急券を発券することのできる自動発券機及び発券方法に関する。
【背景技術】
【０００２】
従来、特急券等の、乗車券の区間内で乗車券に付随して使用される券を発券することのできる発券機は、その発券機の設置されている駅から購入可能な特急券の口座群が設けられていて、その口座釦群から希望する口座釦を選択し、かつその選択された口座釦に対応した金額を満たす金銭（プリペイドカード等のカード類で支払う場合も含む）が投入されると、選択された口座釦に対応した特急券が発券されるように構成されている。特急券の発着駅と乗車券の発着駅との関連性は従来、操作者に委ねられていた。最近になって、発着駅と経由情報を入力させ、各種マスタ群との突合せを行い、乗車券に対する特急券の誤購入を防止する自動発券機が提案されている（例えば、特許文献１，２）。
【０００３】
【特許文献１】特開平１１−７５５０号公報
【特許文献２】特開２００２−２６００２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来の特急券等を発券できる自動発券機においては、乗車券と連携した購入ではないため、誤購入が多く発生するという問題点があった。この誤購入は、特に、乗車券の乗車区間と特急券の乗車区間が異なっている場合に発生しやすく、いずれにしても、誤購入した利用者は、係員窓口で特急券の払戻しを受けて再購入しなければならない面倒があるとともに、係員も払戻しのための事務処理が増加するという問題点があった。
【０００５】
最近になって、乗車券発着駅に対応した有効な特急券発着駅をチェックし、発券することのできる係員操作型発券機が現れているが、その実現方式は、乗車駅と降車駅及び乗車経路の位置関係を視覚的に確認しながら操作することによるものである（特許文献２）。また、特許文献１に示された技術によっては、私鉄等の比較的単純な路線であっても、特急券発着駅チェックにおいては、発着駅だけでの簡易なチェックができるわけではなく、経由情報を入力させる必要があり、利用者に余分な負担をかけているという問題があった。また、システム上の実現方式においては、発着駅情報、路線情報、経由情報等のマスタを組み合わせる方式が一般的であるが、検証作業においては、ロジックの正当性、マスタデータの妥当性、あらゆる路線の組合せケースでの正当性を保証する必要があり、一般的に、路線が複雑になると、その妥当性検証工数は飛躍的に増大する状況であった。
【０００６】
本発明では、この問題を解決するために、私鉄等のように分岐はあっても分岐後の合流はない、ある一定複雑度の路線の範囲で、乗車券発着駅、特急券発着駅情報を入力するのみで特急券発着駅が乗車区間内にあるか否かを、簡易なロジック及びテーブル構成を用いて判定する装置を提供する。
【課題を解決するための手段】
【０００７】
本発明に係る自動発券機は、上記目的を達成するために、乗車券の区間及び特急券の区間に関する情報を入力する入力部と、路線中の全駅に関し、下り方向に見た時の当該駅の次駅、前駅、及び路線の分岐がある場合、分岐後の当該駅の次駅に関する情報を格納した全駅路線チェーンテーブルを保持し、入力部から入力された特急券の区間が乗車券の区間内であるか否かを判定する判定部と、判定部によって特急券の区間が乗車券の区間外であると判定されたときその旨を表示する表示部と、を有する。判定部は、乗車券の区間に存在する全ての駅を探索し、特急券の発駅と着駅とが探索された駅の中にあるとき特急券の区間が乗車券の区間内であると判定し、それ以外のときは特急券の区間が乗車券の区間外であると判定する。
【発明の効果】
【０００８】
本発明によると、乗車券発着駅情報及び特急券発着駅情報に基づいて特急券等、乗車券に付随して使用される券を発券でき、特急券等の誤購入を未然に防止することができる。また、私鉄等のように分岐はあっても分岐後の合流はない、ある一定複雑度の路線の範囲で、乗車券発着駅、特急券発着駅情報を入力するのみで特急券発着駅が乗車区間内にあるか否かの判定を、簡易なロジック及びテーブル構成によって行うことができる。更に、簡易なロジック及びテーブル構成を用いているため、新たに駅や路線（分岐）が追加されても、分岐後の合流はないというルールが守られる限り、処理プログラムや入出力インタフェースに変更を加えることなく、全駅路線チェーンテーブルに駅や分岐の必要情報を一部追加・修正するのみで運用することができ、保守性にも優れている。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本発明による自動発券機を構成する区間判定装置及び入出力装置の例を示すブロック図である。入出力装置１５０は、区間判定装置１００で区間判定するためのデータを入力したり、結果を表示したりするための装置で、表示部１６０、入力部１７０、金銭処理部１８０、発券部１９０等から成る。区間判定装置１００は、メモリ１１０、中央処理装置１２０及び路線データベース１３０等から成り、メモリ１１０には区間判定処理を行うための区間判定プログラム１１１及び処理で用いる各種テーブル１１２が格納されている。路線データベース１３０には、図３に示すような全駅路線チェーンテーブル３００（以下、適宜「チェーンテーブル」と略す）が格納され、区間判定処理中はメモリ１１０にロードされている。分岐駅テーブル４００及び現在検索中の方向４１０は区間判定処理中に一次的に作成されるテーブルであり、データベース等には格納されない。
【００１０】
なお、区間判定装置１００と入出力装置１５０は、回線などで接続されていても、一体的な装置として形成されていてもよい。また、入出力装置１５０は、利用者よりの申込みを受けて駅員が操作する装置であっても、利用者が直接操作する券売機のような装置であっても良い。更に、入出力装置１５０は、区間判定装置１００とネットワークを介して接続する、利用者の保有するパソコン、携帯端末等であってもよい。また、入出力装置１５０、区間判定装置１００の双方を、利用者の保有するパソコン、携帯端末等が備えていても良い。
【００１１】
図２は、入出力装置１５０の一形態である、乗車券・特急券発券機２００の例を示す図である。図中、灰色の部分は、利用者が入力操作を行うタッチパネル、ボタン等である。乗車券の発駅を指定するときは、利用者は乗車区間発駅パネル２２１を押した後、駅名選択パネル２３１より駅を選択する。選択された駅は、乗車区間発駅表示エリア２４１に表示される。同様に、乗車区間着駅パネル２２２を押した後、駅名選択パネル２３１より乗車区間着駅を選択する。選択された駅は、乗車区間着駅表示エリア２４２に表示される。また、特急を利用する場合には、特急区間発駅パネル２２３を押した後、駅名選択パネル２３１より特急券発駅を選択し、特急区間着駅パネル２２４を押した後、駅名選択パネル２３１より特急券着駅を選択する。選択された特急区間の発駅は特急区間発駅表示エリア２４３に表示され、着駅は特急区間着駅表示エリア２４４に表示される。
【００１２】
乗車区間の発駅と着駅、特急区間の発駅と着駅の４つの駅が選択されると、それらの入力データは区間判定装置１００に送られ、特急区間の発着駅が乗車区間発着駅の間にあるか否かの区間判定処理が行われる（区間判定処理については、後に詳述する）。区間判定処理によって特急券発着駅が乗車券発着駅区間内にあると判定されると、料金表示エリア２１１に合計料金が表示され、特急券発着駅が乗車券発着駅区間外にあると判定されると、メッセージエリア２１２に警告メッセージが表示される。前者の場合、利用者は紙幣投入口２５１、硬貨投入口２５２等から指定金額を投入し、乗車券・特急券発券機２００は、指定金額が投入されたことを確認すると、発券口２６１から所定乗車券・特急券の発券を行い、釣り銭がある場合は釣り銭返却口２６２から釣り銭を返却する。金銭投入は、プリペイドカード、クレジットカード等でもよい。入出力装置１５０には、図２に示した乗車券・特急券発券機能以外にも、日時指定、座席指定、禁煙席指定等の種々の付加的機能またはインタフェースがあってもよい。
【００１３】
次に、区間判定処理の基となる全駅路線チェーンテーブルについて説明する。図３に示した全駅路線チェーンテーブル３００は、図５に示した簡易路線図をもとに作成した、チェーンテーブル例である。図３において、駅コードは各駅の内部コードを示す。Nextは当該駅から１路線の下り方向で見た時の次駅を指し示す。Prevは逆に、当該駅に至る前駅を示す。Leftは当駅から分岐し、左方向路線の次駅を指し示す。Rightは同様に右方向路線の次駅を指し示す。
【００１４】
以上の当駅と次駅の配置関連を示すチェーンの列項目で、全ての路線上の駅を表したのが図３に示した全駅路線チェーンテーブル３００である。各々のNext，Prev，Left，Rightに次駅情報が存在しない場合は、Null値を設定し、存在する場合はその駅コードを設定する。なお、この例では、分岐をLeft，Rightと表現しているので、分岐は最高２つまでとなっているが、例えばBranch１，Branch２，・・・，Branchｎというように表現すれば分岐はいくつあっても良い。ただし、ある駅から別の駅まで行くのに経路が複数あるような、即ち路線が分岐した後にまた合流するようなケースは本発明の対象外とする。FLGは、後述する発着駅間の全駅通過フラグとして利用する。
【００１５】
特急券発着駅が乗車券発着駅の範囲に入っている否かは、次の区間判定処理で判定される。以下、図３、図４、図５、図６を用いて、区間判定処理の具体的手順を説明する。区間判定処理は、中央処理装置１２０が、メモリ１１０にロードされた区間判定プログラム１１１及び全駅路線チェーンテーブル３００に従って、入力された乗車区間の範囲内に、入力された特急発着駅が含まれるか否かを判定する。
【００１６】
ここでは、図５のような路線を持つ鉄道で、入力された乗車区間の発駅がＸ駅、着駅がＹ駅とする。また、Ａ駅からＢ駅までの路線が本線、その他の路線が支線、Ａ駅からＢ駅に向かう方向が下り方向とする。この場合、メモリ１１０に展開される路線チェーンテーブルは、例えば図３のようになる。各駅には駅コードが付され、例えばＸ駅の駅コードは１１０３、Ｙ駅の駅コードは２１２２となっている。
【００１７】
以下、図６の着駅探索処理フローに従って、発駅から着駅まで辿り着く処理を説明する。まず、発駅のＸ駅をメモリ１１０上の分岐駅テーブル４００（図４（ａ）参照）の先頭に登録する（Ｓ６０１）。分岐駅テーブルには、路線チェーンテーブルと同様、Next，Prev，Left，Rightの各方向のデータ項目があるが、分岐なし又は探索済の方向には「０」を、探索中の方向には「１」を、未探索の方向には「２」をセットする。この場合、Ｘ駅には左右に分岐がないので、Left，Rightには「０」を、未探索のNext，Prevには「２」をセットする。次に、未探索の分岐方向があるか否かを判定し（Ｓ６０２）、未探索の分岐方向がある場合には、探索する分岐方向を決定し、チェーンテーブルの次の駅に進む（Ｓ６０３）。未探索の方向が複数ある場合は、Next（下り方向），Prev（上り方向），Left（左分岐方向），Right（右分岐方向）の順に探索するものとする。この場合、未探索の方向はNext，Prevなので、探索方向をNextと決定して、分岐駅テーブルのNextに「１」をセットする。また、メモリ１１０上の図４（ｂ）現在探索中の方向４１０には「Next」（下り方向）をセットする（なお、探索方向がPrevの場合は現在探索中の方向４１０は「Prev」（上り方向）となるが、Left，Rightの場合は現在探索中の方向４１０は「Next」（下り方向）となる）。また、チェーンテーブルでＸ駅のNextは１１０４となっているので、次にＩ駅（駅コード１１０４）の処理を行う。
【００１８】
図６のフローに戻り、次にＩ駅が着駅か否かを判定する（Ｓ６０４）。Ｉ駅は着駅ではないので、次にＩ駅がチェーンテーブル終端か否かを判定する（Ｓ６０５）。Ｉ駅はチェーンテーブル終端（「現在探索中の方向」の項目（この場合はNext）がnull）ではないので、次にＩ駅が分岐駅か否かを判定する（Ｓ６０６）。Ｉ駅は分岐駅（LeftまたはRightがnull以外）ではないので、Ｓ６０３に戻り、チェーンテーブルの次の駅に進む（次の駅はＪ駅）。
【００１９】
このように、着駅、チェーンテーブル終端、分岐駅のいずれかが出現するまでチェーンテーブルを次々に進む。Ｆ駅まで来たところで、Ｆ駅は分岐駅なので（Left，Rightがnull以外）、Ｓ６０６の判定でYesとなり、Ｆ駅を分岐駅テーブルの末尾に追加登録する（Ｓ６０８）。Ｆ駅のPrev方向は既に辿ってきた道なので、Prevには「０」、Next，Left，Rightに「２」をセットする。Ｆ駅には未探索の分岐があるので、次に探索する方向のNextに「１」をセットし、チェーンテーブルの次の駅に進む（次の駅はＫ駅）。
【００２０】
再度チェーンテーブルを次々に進むと、Ｂ駅まで来たところで、Ｂ駅はチェーンテーブル終端駅（Nextがnull）なので、Ｓ６０５の判定でYesとなり、分岐駅テーブルの最後の駅、即ちＦ駅まで戻る（Ｓ６０７）。結局、Ｆ駅のNext方向に着駅はなかったので、分岐駅テーブルのNextに「０」をセットし、未探索の分岐があるか否か判定する（Ｓ６０２）。ここでＦ駅についてはLeftが「２」で未探索なので、Leftに処理中の「１」をセットして、チェーンテーブルでＦ駅のLeftに示されているＬ駅を次の駅とする（Ｓ６０３）。進行方向がLeftなので、既に述べたように、現在探索中の方向４１０は「Next」のままである。
【００２１】
再度チェーンテーブルを次々に進むと、Ｇ駅まで来たところで、Ｇ駅は分岐駅なので（Rightがnull以外）、Ｓ６０６の判定でYesとなり、Ｇ駅を分岐駅テーブルの末尾に追加登録する（Ｓ６０８）。Ｇ駅のPrev方向は既に辿ってきた道なので、Prevには「０」、分岐のないLeftにも「０」、分岐のあるNext，Rightには「２」をセットする。Ｇ駅には未探索の分岐があるので、次に探索する方向のNextに「１」をセットし、チェーンテーブルの次の駅に進む（次の駅はＭ駅）。
【００２２】
再度チェーンテーブルを次々に進むと、Ｙ駅まで来たところで、Ｙ駅は着駅なので、Ｓ６０４の判定でYesとなり、Ｙ駅を分岐駅テーブルの末尾に追加登録する（Ｓ６１０）。次に、分岐駅テーブルを先頭（発駅）から末尾（着駅）まで、各駅で探索中「１」となっている方向に沿ってチェーンテーブルを辿り（本例では、Ｘ駅からＦ駅まではNext方向、Ｆ駅でLeft方向に方向転換し、Ｆ駅の次の駅からＧ駅まではNext方向、Ｇ駅からＹ駅まではNext方向）、通過した駅全てのFLGエリアに「１」をセットする（Ｓ６１１）。このようにして、乗車区間内にある駅が全て求まる。
【００２３】
次に、特急発着駅が上記で求めた乗車区間内にあるか否かの判定を行う。まず、チェーンテーブル３００において特急発駅のFLGエリアが１か否かを判定し（Ｓ６１２）、１ならば次の判定（Ｓ６１３）に進むが、１以外ならば、特急発着駅が乗車区間の範囲外である旨の通知を入出力装置１５０に返す。次に、チェーンテーブルの特急着駅のFLGエリアが１か否かを判定し（Ｓ６１３）、１ならば特急発着駅が乗車区間の範囲内である旨の通知を入出力装置１５０に返し（Ｓ６１４）、１以外ならば特急発着駅が乗車区間の範囲外である旨の通知を入出力装置１５０に返す（Ｓ６１５）。例えば、特急発駅がＦ駅、特急着駅がＣ駅の場合、Ｆ駅はFLGが１なのでＳ６１３に進むが、Ｃ駅はFLGが１以外なので、特急発着駅が乗車区間の範囲外である旨の通知を入出力装置１５０に返す（Ｓ６１５）。
【００２４】
別の例として、同じ路線で発駅がＸ駅、着駅がＡ駅の場合を考える。Ｘ駅のNext方向から探索を開始する点、及び分岐駅テーブルに途中Ｆ駅、Ｇ駅が追加登録される点は前述の例と同様であるが、この例では、Ｆ駅、Ｇ駅いずれの駅の先にも着駅が見つからないので、全部の分岐を探索して着駅がないことが分かった時点で、Ｓ６０２の判定がNoとなり、Ｇ駅、Ｆ駅の順で分岐駅テーブルから削除される（Ｓ６０９）。結局、Ｘ駅まで戻って、分岐駅テーブルのＸ駅のNextを探索済の「０」、Prevを探索中の「１」、現在探索中の方向４１０を「Prev」にしてPrev方向に順次進むと、着駅であるＡ駅が見つかるので、Ａ駅を分岐駅テーブルに登録する（Ｓ６１０）。この場合のＳ６１１は、Ｘ駅から前実施例とは逆にPrev方向を辿って、Ｘ駅、Ｈ駅、Ａ駅のそれぞれのFLGエリアに「１」をセットする。例えば、特急発駅がＨ駅、着駅がＡ駅ならば、これらの駅のFLGは１なので、判定Ｓ６１３及びＳ６１４でYesとなり、特急発着駅が乗車区間の範囲内にある旨の通知を入出力装置１５０に返す。
【００２５】
なお、本発明が対象とする区間判定方法の処理ロジック、テーブル構造は上記実施例に限られず、乗車区間発駅から出発して、分岐に従って全路線を網羅して乗車区間着駅を探索することができれる方法であればどのような方法を用いてもよい。
【００２６】
また、上記実施例では乗車券と共に発券される券を特急券としているが、グリーン券、指定席券、急行券等、乗車券の区間内で乗車券に付随して使用される券であれば、特急券でなくてもよく、また、有料、無料のどちらであってもよい。更に、付随して使用される券は乗車券と物理的に分離していなくても、乗車券と合わせて１枚の券になっていてもよい。
【図面の簡単な説明】
【００２７】
【図１】本発明による自動発券機を構成する区間判定装置及び入出力装置の例を示すブロック図。
【図２】乗車券・特急券発券機の例を示す図。
【図３】全駅路線チェーンテーブルの例を示す図。
【図４】全駅路線チェーンテーブル図である。
【図５】簡易路線図。
【図６】着駅探索処理フローを示す図。
【符号の説明】
【００２８】
１００：区間判定装置、１１０：メモリ、１１１：区間判定プログラム、１１２：テーブル、１２０：中央処理装置、１３０：路線データベース、１５０：入出力装置、１６０：表示部、１７０：入力部、１８０：金銭処理部、１９０：発券部
【図１】
2005284957.tif 000003
【図２】
2005284957.tif 000004
【図３】
2005284957.tif 000005
【図４】
2005284957.tif 000006
【図５】
2005284957.tif 000007
【図６】
2005284957.tif 000008