以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
図1は、本実施形態に係る情報処理システム10の構成の一例を示す模式図である。
図1に示すように、本実施形態に係る情報処理システム10は、注文情報の管理対象とされた店舗内に収容されており、複数のスマートフォン20と、オーダリングサーバ50と、印刷装置70と、表示装置80と、会計装置90と、を備える。本実施形態に係る店舗は、商品又は役務(サービス)を提供する場所の一例であり、本実施形態では、各種の飲食物を提供するレストランや居酒屋等の飲食店に本発明を適用した場合について説明する。
本実施形態においては、店舗内の設備の一例として、来客が使用する複数の卓40が設置されている。複数の卓40の各々には、複数の卓40の各々を個別に特定可能な卓番号42を保持するバーコードが印刷されたバーコードラベル44が設けられている。卓番号42は、設備情報の一例であり、バーコードラベル44(以下、単にバーコード44という。)は、情報保持媒体の一例であり、例えば、1次元バーコードや、QRコード(登録商標)等の2次元バーコード等が適用される。なお、店舗内の設備としては、卓以外でもよく、例えば、座敷や、カラオケルーム等の部屋、カウンターの座席等でもよい。例えば、座敷の場合には、座敷を個別に特定可能な座敷番号がバーコード44に保持される。同様に、部屋の場合には、部屋を個別に特定可能な部屋番号がバーコード44に保持され、座席の場合には、座席を個別に特定可能な座席番号がバーコード44に保持される。また、情報保持媒体としては、バーコード以外でもよく、例えば、卓番号42を記憶したIC(Integrated Circuit)タグや、卓番号42そのものを印刷した卓番号ラベル等でもよい。
本実施形態に係るスマートフォン20は、携帯端末装置の一例であり、店舗の来客が所有するスマートフォンである。スマートフォン20は、インターネットや、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークNを介してオーダリングサーバ50と接続される。スマートフォン20には、後述する注文入力アプリケーション・プログラムが予めインストールされており、これにより注文の入力及びバーコード44の読み取りを行う。スマートフォン20は、卓40に設けられたバーコード44を読み取ることで、卓40の卓番号42を取得する。そして、スマートフォン20は、少なくとも卓番号42を含み、飲食物を注文する注文情報を、ネットワークNを介してオーダリングサーバ50に送信する。
本実施形態に係るオーダリングサーバ50は、情報処理装置の一例であり、ネットワークNを介してスマートフォン20と接続される。オーダリングサーバ50は、スマートフォン20から送信されてくる来客の注文情報を管理する。また、オーダリングサーバ50は、印刷装置70、表示装置80、及び会計装置90の各々とも接続される。印刷装置70は、来客の注文情報に応じた伝票を印刷する。表示装置80は、来客の注文情報により示され、注文対象とされた飲食物及び個数を示す注文内容を表示させる。会計装置90は、来客毎に生成される伝票情報に基づいて会計処理を行う。会計装置90には、例えば、POSレジスタ等が適用される。
店舗の従業員は、表示装置80に表示された注文内容に従って飲食物を準備し、注文情報に含まれる卓番号42により示される卓40の来客に飲食物を提供する。なお、本実施形態では、1つの店舗内に1台のオーダリングサーバ50を設置した場合について示すが、複数の店舗を1台のオーダリングサーバ50で管理するようにしてもよい。
図2は、本実施形態に係るスマートフォン20の構成の一例を示すブロック図である。
図2に示すように、本実施形態に係るスマートフォン20は、制御部21と、記憶部22と、読取部23と、通信部24と、操作部25と、表示部26と、を備える。
制御部21は、CPU(Central Processing Unit)21A、ROM(Read Only Memory)21B、RAM(Random Access Memory)21C、及び入出力インターフェース(I/O)21Dを備えており、これら各部がバスを介して各々接続されている。
I/O21Dには、記憶部22と、読取部23と、通信部24と、操作部25と、表示部26と、を含む各機能部が接続されている。これらの各機能部は、I/O21Dを介して、CPU21Aと相互に通信可能とされる。
制御部21は、スマートフォン20の全体的な動作を制御するメイン制御部の一部として構成されてもよい。
記憶部22としては、例えば、SSD(Solid State Drive)、フラッシュメモリ等が用いられる。記憶部22には、本実施形態に係る注文入力処理を実行するための注文入力アプリケーション・プログラム22A(以下、注文入力アプリ22Aという。)が記憶される。なお、この注文入力アプリ22Aは、例えば、店舗が提供するWebサイトからダウンロードすることで取得される。注文入力アプリ22Aは、ROM21Bに記憶されていてもよい。
また、記憶部22には、スマートフォン20を識別するための端末固有情報の一例であるMAC(Media Access Control)アドレス22Bが記憶されている。なお、端末固有情報としては、MACアドレス以外でもよく、例えば、SIM(Subscriber Identity Module)カードのID(Identification)番号でもよいし、来客が店舗の会員として登録している場合には当該来客の会員番号等でもよい。MACアドレス22Bは、ROM21Bに記憶されていてもよい。
読取部23には、卓番号42を保持するバーコード44を撮影して読み取るCCD(Charge Coupled Device)撮像素子等の撮像素子が適用される。なお、卓番号42が記憶されたICタグを読取対象とした場合、読取部23には、ICタグとの間で近距離無線通信を行う無線通信部が適用される。また、卓番号42そのものが印刷された卓番号ラベルを読取対象とした場合、読取部23には、CCD撮像素子等の撮像素子が適用される。
通信部24は、ネットワークNに接続されており、オーダリングサーバ50とネットワークNを介して通信を行う。この例の場合、通信部24とネットワークNとは無線で接続される。
操作部25には、電源ボタンや各種の操作ボタン等が設けられる。表示部26には、例えば、液晶ディスプレイ(LCD:Liquid Crystal Display)や有機EL(Electro Luminescence)ディスプレイ等が用いられる。表示部26は、所有者(来客)がスマートフォン20の操作を行うためのタッチパネルを表示面と一体的に有している。
なお、本実施形態では、携帯端末装置の一例として、スマートフォン20を例示して説明するが、例えば、タブレット端末装置や、携帯可能なノート型PC(パーソナルコンピュータ)等を適用してもよい。
図3は、本実施形態に係るオーダリングサーバ50の構成の一例を示すブロック図である。
図3に示すように、本実施形態に係るオーダリングサーバ50は、制御部51と、記憶部52と、通信部53と、外部機器インターフェース(外部機器I/F)54と、を備える。
制御部51は、CPU51A、ROM51B、RAM51C、及びI/O51Dを備えており、これら各部がバスを介して各々接続されている。
I/O51Dには、記憶部52と、通信部53と、外部機器I/F54と、を含む各機能部が接続されている。これらの各機能部は、I/O51Dを介して、CPU51Aと相互に通信可能とされる。
制御部51は、オーダリングサーバ50の全体的な動作を制御するメイン制御部の一部として構成されてもよい。制御部51の各ブロックの一部又は全部には、例えば、LSI(Large Scale Integration)等の集積回路又はICチップセットが用いられる。上記各ブロックに個別の回路を用いてもよいし、一部又は全部を集積した回路を用いてもよい。上記各ブロック同士が一体として設けられてもよいし、一部のブロックが別に設けられてもよい。また、上記各ブロックのそれぞれにおいて、その一部が別に設けられてもよい。制御部51の集積化には、LSIに限らず、専用回路又は汎用プロセッサを用いてもよい。
記憶部52としては、例えば、HDD(Hard Disk Drive)、SSD、フラッシュメモリ等が用いられる。記憶部52には、本実施形態に係る注文登録処理を実行するための注文登録処理プログラム52Aが記憶される。なお、この注文登録処理プログラム52Aは、ROM51Bに記憶されていてもよい。また、記憶部52には、設備管理テーブル情報52B、伝票管理テーブル情報52C、端末管理テーブル情報52D、及び注文内容テーブル情報52Eが記憶される。
注文登録処理プログラム52Aは、例えば、オーダリングサーバ50に予めインストールされていてもよい。また、注文登録処理プログラム52Aは、不揮発性の記憶媒体に記憶して、又はネットワークを介して配布し、オーダリングサーバ50に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、CD-ROM(Compact Disc Read Only Memory)、光磁気ディスク、HDD、DVD-ROM(Digital Versatile Disc Read Only Memory)、フラッシュメモリ、メモリカード等が想定される。
通信部53は、ネットワークNに接続されており、スマートフォン20とネットワークNを介して通信を行う。この例の場合、通信部53とネットワークNとは有線で接続されるが、無線で接続してもよい。
外部機器I/F54は、外部機器として、印刷装置70、表示装置80、及び会計装置90の各々と接続されており、これらの外部機器の各々との間で通信を行う。
以下、図2及び図3を参照して、スマートフォン20及びオーダリングサーバ50の各々のCPUの機能的な構成について説明する。
本実施形態に係るスマートフォン20のCPU21Aは、判定部30、取得部31、暗号化部32、注文入力部33、送信処理部34、及び生成部37として機能する。CPU21Aは、記憶部22に記憶されている注文入力アプリ22AをRAM21Cに書き込んで、実行することにより、これら各部として機能する。なお、CPU21Aは、現在の日時を計時する計時部35としても機能する。
図2に示すように、スマートフォン20の判定部30は、来客からの操作の指示がバーコード44の読み取り処理を実行する指示であるか、あるいは、注文の入力処理を実行する指示であるかを判定する。
判定部30によりバーコード44の読み取り処理と判定された場合、取得部31は、読取部23を用いてバーコード44を読み取り、読み取ったバーコード44を解析して卓番号42を取得する。なお、ICタグを読取対象とした場合、取得部31は、読取部23を用いてICタグから卓番号42を取得し、卓番号ラベルを読取対象とした場合、取得部31は、読取部23を用いて読み取った卓番号ラベルを文字認識して卓番号42を取得する。また、取得部31は、計時部35を用いて、バーコード44の読み取りを行った時点での日時を示す日時情報35Aを取得する。更に、取得部31は、記憶部22からMACアドレス22Bを取得する。なお、この例では、オーダリングサーバ50のアドレスであるURL(Uniform Resource locator)が、バーコード44に保持されており、取得部31がバーコード44の読み取りを行ったときに卓番号42と共に取得される。
また、スマートフォン20では、バーコード44から取得した卓番号42を、日時情報35Aを暗号化キーとして暗号化する。この暗号化の処理は、暗号化部32が実行する。なお、暗号化の方法としては、従来公知の手法を用いて行えばよく、特に限定されるものではない。
一方、判定部30により注文の入力処理と判定された場合、注文入力部33は、表示部26にメニュー一覧表を表示させ、注文対象とされた飲食物及び個数を示す注文内容36の入力を受け付ける。このメニュー一覧表の表示画面は、来客による押圧操作により、注文対象とされた飲食物及び個数を示す注文内容36の入力を受け付ける画面とされる。なお、このメニュー一覧表を示す情報は、オーダリングサーバ50に予め記憶されている。この例では、当該注文の入力処理の前に、バーコード44から取得したURLに基づいてオーダリングサーバ50にアクセスし、オーダリングサーバ50からメニュー一覧表を示す情報が取得されているものとする。
送信処理部34は、注文情報37A(以下、第1注文情報37Aという。)を、通信部24を介してオーダリングサーバ50に送信する処理を行う。本実施形態に係る第1注文情報37Aには、取得部31により取得された卓番号42、日時情報35A、及びMACアドレス22Bと、注文入力部33により入力を受け付けた注文内容36と、が含まれる。
なお、事前にスマートフォン20にオーダリングサーバ50のURLが取得できており、スマートフォン20がメニュー一覧表を表示可能である場合には、バーコード44の読み取りを行う前に、メニュー一覧表を介して注文内容36の入力を行うようにしてもよい。この場合、注文内容36は、スマートフォン20に送信待ちの状態で保存され、バーコード44の読み取りにより卓番号42が取得され、卓番号42、日時情報35A、MACアドレス22B、及び注文内容36が全て揃った段階で、第1注文情報37Aがオーダリングサーバ50へ送信される。
生成部37は、第1注文情報37Aに応じてオーダリングサーバ50から取得した伝票情報の一例である伝票番号38N、及び、取得部31により取得した卓番号42を含むコード情報37Cを生成する。コード情報37Cとしては、例えば、1次元バーコードを示す情報や、QRコード(登録商標)等の2次元バーコードを示す情報等が適用される。なお、この例では、コード情報37Cには、オーダリングサーバ50のURLも含まれているものとする。
一方、本実施形態に係るオーダリングサーバ50のCPU51Aは、入力部60、復号部61、判定部62、登録部63、及び出力部64として機能する。CPU51Aは、記憶部52に記憶されている注文登録処理プログラム52AをRAM51Cに書き込んで、実行することにより、これら各部として機能する。なお、CPU51Aは、現在の日時を計時する計時部65としても機能する。
本実施形態においては、店舗に、複数人で構成されたグループの客が訪れた場合に、当該グループの来客の各々が所有するスマートフォン20を用いて、注文の入力が行われる。ここでいうグループとは、例えば、家族連れや、友人同士、会社の同僚等の何らかの関係を有する複数人からなるグループである。なお、以下では、グループの来客が店舗に来店後、最初に注文の入力を行うスマートフォン20を親機とし、その他のスマートフォン20を子機として説明する。また、説明の便宜上、必要に応じて、1つのグループの来客のうち、来客A、Bを区別し、来客Aのスマートフォン20を親機20A、来客Bのスマートフォン20を子機20Bとして説明するが、1つのグループを構成する来客数は、2人に限定されず、3人以上でもよい。
まず、来客Aは、親機20Aを用いて、バーコード44を読み取ることにより卓番号42を取得する。
本実施形態に係る入力部60は、親機20Aから、卓番号42を含み、飲食物を注文する第1注文情報37Aの入力を受け付ける。登録部63は、入力部60により入力を受け付けた第1注文情報37Aに含まれる卓番号42が整合性を有する場合に、第1注文情報37Aを登録する。出力部64は、登録部63により第1注文情報37Aを登録した親機20Aに対して、第1注文情報37Aに対応する伝票番号38Nを、通信部53を介して出力する。
親機20Aは、オーダリングサーバ50から伝票番号38Nを取得した場合、卓番号42、伝票番号38N、及びオーダリングサーバ50のURLを含むコード情報37Cを、表示部26の画面に表示する。このコード情報37Cは、子機20Bにより読み取りが可能とされている。
一方、来客Bは、子機20Bを用いて、親機20Aの表示部26に表示されたコード情報37Cを読み取ることで、卓番号42、伝票番号38N、及びオーダリングサーバ50のURLを取得する。更に、取得部31は、計時部35を用いて、コード情報37Cの読み取りを行った時点での日時を示す日時情報35Aを取得し、記憶部22からMACアドレス22Bを取得する。送信処理部34は、これらの卓番号42、日時情報35A、MACアドレス22B、及び伝票番号38Nと、注文入力部33により入力を受け付けた注文内容36と、を含む第1注文情報37Aを、通信部53を介してオーダリングサーバ50に送信する処理を行う。
本実施形態によれば、卓番号42の整合性の有無を判定することにより、親機20A及び子機20Bの各々からの不正な注文の発生を抑制することができる。そして更に、親機20Aが子機20Bにより読み取り可能なコード情報37Cを表示部26に表示させる。これにより、子機20Bがコード情報37Cを読み取って利用することで、同一の卓番号42を取得した親機20A及び子機20Bの各々の第1注文情報37Aが1つの伝票番号38Nにより管理される。つまり、来客A、Bのグループは1つの伝票番号38Nで管理されるため、個別の会計処理を行わなくてもよく、会計処理を効率良く行うことができる。
次に、オーダリングサーバ50が親機20Aから送信される第1注文情報37Aの入力を受け付けた場合について説明する。
図3に示すように、入力部60は、通信部53を介して、親機20Aから送信されてくる第1注文情報37Aの入力を受け付ける。
ここで、第1注文情報37Aに含まれる卓番号42が日時情報35Aを暗号化キーとして暗号化されている場合、復号部61が、この暗号化されている卓番号42を、日時情報35Aを用いて復号(解読)する。
図4は、本実施形態に係る復号部61による復号処理の一例を説明するための模式図である。
図4に示す例では、第1注文情報37Aには、卓番号42、MACアドレス22B、日時情報35A、及び注文内容36に加えて、店舗コードが含まれる。なお、店舗コードは、オーダリングサーバ50が複数の店舗を管理する場合に必要となる情報であり、1つの店舗を管理する場合には不要とされる。この店舗コードは、バーコード44に保持されており、親機20Aによるバーコード44の読み取りにより取得される。
判定部62は、卓番号42が整合性を有するか否かを判定する。卓番号42の整合性については、設備管理テーブル情報52Bに予め登録されている複数の卓番号と照合することで判定する。設備管理テーブル情報52Bには、予め許可された複数の卓番号が登録されている。
図5は、本実施形態に係る設備管理テーブル情報52Bの一例を示す模式図である。
図5に示すように、本実施形態に係る設備管理テーブル情報52Bには、店舗内に設置された複数の卓40の各々を個別に特定可能な卓番号(一例として、A01、A02、A03、…)が、店舗内の位置と対応付けて登録されている。
本実施形態に係る判定部62は、第1注文情報37Aに含まれる卓番号42が、設備管理テーブル情報52Bに存在するか否かを判定し、卓番号42が存在すれば、整合性を有すると判定し、卓番号42が存在しなければ、整合性を有していないと判定する。
なお、本実施形態では、卓番号42の整合性の有無に加え、日時情報35Aの整合性の有無についても判定する。日時情報35Aの整合性については、計時部65により示される現在の日時と照合することで判定する。例えば、判定部62は、第1注文情報37Aに含まれる日時情報35Aにより示される日時と、計時部65により計時されている現在の日時との時間差が所定範囲内であるか否かを判定する。時間差が所定範囲内である場合には、整合性を有すると判定し、時間差が所定範囲を超える場合には、整合性を有しないと判定する。なお、判定基準としては、これに限定されず、単純に月と日の両方が一致するか否かを判定してもよい。
登録部63は、判定部62による判定の結果、日時情報35A及び卓番号42の双方が整合性を有する場合に、第1注文情報37Aを記憶部52に登録する。具体的には、第1注文情報37Aに含まれる各種の情報が伝票管理テーブル情報52C、端末管理テーブル情報52D、及び注文内容テーブル情報52Eの各々に登録される。なお、本実施形態では、3つのテーブル情報に分けているが、1つのテーブル情報として構成してもよい。以下、本実施形態では、日時情報35A及び卓番号42の双方について整合性の有無を判定する場合について説明するが、卓番号42についてのみ整合性の有無を判定してもよい。
図6は、本実施形態に係る伝票管理テーブル情報52Cの一例を示す模式図である。
図6に示すように、伝票管理テーブル情報52Cには、第1注文情報37Aに含まれる卓番号42と共に、卓番号42に固有の伝票番号38N、更に、卓番号42に対応するグループの来客数を表すグループ人数38Pが登録される。図6に示す例の場合、親機20Aについて、卓番号42が「B01」、伝票番号38Nが「42」、グループ人数38Pが「2」として各々登録される。なお、このグループ人数38Pについては後述する。
本実施形態によれば、日時情報35A及び卓番号42の双方が整合性を有する場合に、第1注文情報37Aが登録される。この場合、卓番号42の整合性のみを判定する場合と比べ、親機20Aからの不正な注文の発生を更に効果的に抑制することができる。つまり、卓番号42のみの整合性を判定する場合でも、不正な注文の発生の抑止力となり得るが、店舗の来客が親機20Aを用いてバーコード44を読み取り、卓番号42を取得してしまえば、卓番号42が変更されない限り、以後来店しなくても注文が可能となる。悪意のある人物の場合、親機20Aから不正な注文が行われる可能性がある。
これに対して、本実施形態においては、日時情報35Aにより示される日時がバーコード44を読み取ったタイミングで取得され、日時情報35A及び卓番号42の双方が整合性を有していなければ、注文情報が登録されないため、不正な注文の発生がより効果的に抑制される。
また、来客Aが親機20Aを用いてバーコード44の読み取りを行い、日時情報35A及び卓番号42の両方を取得し、例えば、来店の翌日等に店舗外から、これらの日時情報35A及び卓番号42の双方を含む注文情報を送ってくる可能性がある。このような場合、当該日時情報35Aは来店時における日時情報であり、オーダリングサーバ50で計時する現在の時刻との時間差が所定範囲より大きくなるため、整合性を有しないと判定される。
図7は、本実施形態に係る端末管理テーブル情報52Dの一例を示す模式図である。
図7に示すように、端末管理テーブル情報52Dには、第1注文情報37Aに含まれるMACアドレス22Bが伝票番号38Nに対応付けて登録される。図7に示す例の場合、親機20Aについて、MACアドレス22Bが「SSA22334455」、伝票番号38Nが「42」として各々登録される。
図8は、本実施形態に係る注文内容テーブル情報52Eの一例を示す模式図である。
図8に示すように、注文内容テーブル情報52Eには、伝票番号38N、第1注文情報37Aに含まれるMACアドレス22B及び注文内容36が登録される。注文内容テーブル情報52Eは、伝票番号38Nにより伝票管理テーブル情報52C及び端末管理テーブル情報52Dの各々と対応付けられている。また、注文内容テーブル情報52Eには、入力を受け付けた注文情報が新規注文を示すものであるか追加注文を示すものであるかを表す新規/追加の種別39が登録される。本実施形態では、新規/追加の種別39の判定を、注文情報に伝票番号38Nが含まれているか否か、及び、卓番号42の伝票管理テーブル情報52Cへの登録の有無で判定する。
そして、出力部64は、親機20Aから入力された第1注文情報37Aが登録された場合、伝票管理テーブル情報52Cに登録された伝票番号38Nを、通信部53を介して親機20Aに出力する。
親機20Aは、オーダリングサーバ50から取得された伝票番号38Nに基づいて、表示部26にコード情報37Cを表示させる。そして、子機20Bは、親機20Aの表示部26に表示されたコード情報37Cを読み取った後に、第1注文情報37Aをオーダリングサーバ50に送信する処理を行う。なお、子機20Bにおいても、コード情報37Cの読み取りにより伝票番号38Nを取得した後は、親機20Aと同様に、コード情報37Cを表示部26に表示可能とされる。
次に、オーダリングサーバ50が子機20Bから送信される第1注文情報37Aの入力を受け付けた場合について説明する。
入力部60は、通信部53を介して、子機20Bから送信されてくる第1注文情報37Aの入力を受け付ける。子機20Bから受け付ける第1注文情報37Aには、卓番号42(例えば「B01」)、MACアドレス22B(例えば「YYA22222222」)、及び伝票番号38N(例えば「42」)が含まれる。つまり、子機20Bの卓番号42及び伝票番号38Nの各々は、親機20Aの卓番号42及び伝票番号38Nの各々と同一であり、子機20BのMACアドレス22Bは、親機20AのMACアドレス22Bと異なる。
本実施形態に係る判定部62は、受け付けた注文情報に含まれる日時情報35A及び卓番号42の双方が整合性を有すると判定した場合、更に、受け付けた注文情報に伝票番号38Nが含まれるか否かを判定する。そして、判定部62は、受け付けた注文情報が伝票番号38Nを含まない場合、当該注文情報を新規注文と判定する。一方、受け付けた注文情報が伝票番号38Nを含む場合、当該注文情報を追加注文と判定する。
一例として、親機20Aから最初の第1注文情報37Aを入力した場合、入力した第1注文情報37Aが伝票番号38Nを含まないため、判定部62により新規注文と判定される。この場合、登録部63は、第1注文情報37Aに対して伝票番号38Nを生成する。登録部63は、これらの卓番号42、MACアドレス22B、及び伝票番号38Nを対応付けて伝票管理テーブル情報52C及び端末管理テーブル情報52Dの各々に登録し、かつ、第1注文情報37Aの注文内容36を新規注文として注文内容テーブル情報52Eに登録する。
一方、子機20Bから第1注文情報37Aを入力した場合、入力した第1注文情報37Aが伝票番号38Nを含むため、判定部62により追加注文と判定される。この場合、登録部63は、子機20BのMACアドレス22B(例えば「YYA22222222」)を、親機20Aと同一の伝票番号38N(例えば「42」)に対応付けて端末管理テーブル情報52Dに登録し、かつ、第1注文情報37Aの注文内容36を追加注文として注文内容テーブル情報52Eに登録する。ここで、登録部63は、端末管理テーブル情報52Dを参照し、同一の伝票番号38Nが対応付けられたMACアドレス22Bの数を計数(カウント)し、計数した数を伝票番号38Nに対応付けて伝票管理テーブル情報52Cに登録する。これにより、伝票管理テーブル情報52Cのグループ人数38Pが登録される。つまり、グループ人数38Pは、同一の伝票番号38Nが対応付けられたMACアドレス22Bの数に対応する。一例として、来客A、Bの場合、2つのMACアドレス22Bが登録されるため、グループ人数38Pの来客数は「2」として登録される。これにより、店舗の従業員は、1つのグループを構成する来客の人数を容易かつ的確に把握することが可能となる。
そして、出力部64は、子機20Bから受け付けた第1注文情報37Aが登録された場合、伝票管理テーブル情報52Cに登録された伝票番号38Nを、通信部53を介して子機20Bに出力する。
以上の動作により、親機20A及び子機20Bの各々が取得する伝票番号38Nは、同一とされ、親機20A及び子機20Bの各々から、例えば、追加注文を行う場合や会計処理を行う場合等に利用される。追加注文を行う場合、新規注文の場合と同様に、親機20A及び子機20Bの各々の注文入力アプリ22Aを起動させる。
追加注文の場合、親機20Aにおいて、取得部31は、前回と同様に、読取部23を用いて、卓40のバーコード44を読み取って卓番号42を取得する。そして、送信処理部34は、注文情報37B(以下、第2注文情報37Bという。)を、通信部24を介してオーダリングサーバ50に送信する処理を行う。第2注文情報37Bには、取得部31により取得された卓番号42、日時情報35A、MACアドレス22B、及び伝票番号38Nと、注文入力部33により入力を受け付けた注文内容36と、が含まれる。この例の場合、第2注文情報37Bに含まれる注文内容36は、第1注文情報37Aに含まれる注文内容36と異なる。
なお、親機20Aにおいては、不正な注文か否かの判定に、バーコード44の読み取りを行ったタイミングで取得される日時情報35Aを用いるため、追加注文で卓番号42の変更がない場合であっても、バーコード44の読み取りが行われる。
一方、子機20Bにおいて、取得部31は、前回と同様に、読取部23を用いて、親機20Aの表示部26に表示されたコード情報37Cを読み取って卓番号42及び伝票番号38Nを取得する。そして、送信処理部34は、第2注文情報37Bを、通信部24を介してオーダリングサーバ50に送信する処理を行う。第2注文情報37Bには、取得部31により取得された卓番号42、日時情報35A、MACアドレス22B、及び伝票番号38Nと、注文入力部33により入力を受け付けた注文内容36と、が含まれる。この例の場合も、第2注文情報37Bに含まれる注文内容36は、第1注文情報37Aに含まれる注文内容36と異なる。
なお、子機20Bにおいても、不正な注文か否かの判定に、コード情報37Cの読み取りを行ったタイミングで取得される日時情報35Aを用いるため、追加注文で卓番号42の変更がない場合であっても、コード情報37Cの読み取りが行われる。
オーダリングサーバ50の入力部60は、通信部53を介して、親機20A及び子機20Bの各々から送信されてくる第2注文情報37Bの入力を受け付ける。
本実施形態に係る登録部63は、受け付けた第2注文情報37Bに含まれる日時情報35A及び卓番号42の双方が整合性を有し、かつ、受け付けた第2注文情報37Bが伝票番号38Nを含み、かつ、伝票管理テーブル情報52Cに登録した伝票番号38Nと、受け付けた第2注文情報37Bに含まれる伝票番号38Nとが一致する場合、第2注文情報37Bの注文内容36を、追加注文として注文内容テーブル情報52Eに登録する。
なお、登録部63は、日時情報35A及び卓番号42の双方が整合性を有し、かつ、受け付けた第2注文情報37Bが伝票番号38Nを含む場合に、第2注文情報37Bの注文内容36を追加注文として注文内容テーブル情報52Eに登録してもよい。つまり、伝票番号38Nが一致するか否かのチェックについては、必ずしも必要ではないが、必要に応じてさらに、伝票番号38Nについてもチェックを行い、万が一、伝票番号38Nが一致しない場合は、何らかの改竄等が行われたと判断して、第2注文情報37Bの登録を行わない形態とすることも可能である。また、一度、伝票番号38Nの入力が受け付けられたスマートフォン20を持つ来客が席移動を行った場合、当該来客がスマートフォン20を用いて、移動先の席でバーコード44を読み取ることで新たな卓番号42を取得することによって、伝票番号38Nをキーとして、卓番号42の変更を行う形態とすることも可能である。
本実施形態によれば、日時情報35A及び卓番号42の双方の整合性の判定に加えて、注文情報に伝票番号38Nが含まれるか否かを判定することで、当該注文情報が新規注文であるか追加注文であるかを容易かつ的確に特定することができる。この結果、注文した来客、すなわち、新規注文をした来客と追加注文をした来客とを正確に特定することができる。このため、店舗において飲食物の提供をスムーズに行うことができる。
一方、来客A、Bが伝票番号38Nを用いて会計処理を行う場合、例えば、従業員が来客A、Bのいずれかのスマートフォン20の表示部26に表示された伝票番号38Nを確認し、従業員が会計装置90に、確認した伝票番号38Nを入力する。なお、伝票番号38Nは、スマートフォン20から会計装置90に近距離無線等を介して入力してもよい。また、スマートフォン20の表示部26に伝票番号38Nを示すバーコードを表示させ、会計装置90が備えるバーコードリーダにより読み取ることで入力してもよい。伝票番号38Nが入力されると、会計装置90は、オーダリングサーバ50に対して、入力された伝票番号38Nを含む注文内容出力要求を出力し、伝票番号38Nに対応する注文内容36の問い合わせを行う。
オーダリングサーバ50は、会計装置90からの問い合わせとして、伝票番号38Nを含む注文内容出力要求が入力されると、出力部64が、入力した伝票番号38Nに対応する注文内容36を注文内容テーブル情報52Eから読み出し、外部機器I/F54を介して会計装置90に出力する。そして、会計装置90は、オーダリングサーバ50から受け取った注文内容36に従って会計処理を行い、この伝票番号38Nを含む会計処理完了通知をオーダリングサーバ50に出力する。
なお、注文入力部33により入力を受け付けた注文内容36をスマートフォン20に記憶させ、スマートフォン20の表示部26に、注文内容36を示すバーコードを表示させてもよい。注文内容36を示すバーコードを表示部26に表示させる場合、会計装置90がバーコードリーダにより表示部26に表示されたバーコードを読み取るだけで、注文内容36を取得することができ、会計装置90からオーダリングサーバ50への問い合わせが不要となる。
本実施形態によれば、親機となるスマートフォン20が子機となるスマートフォン20により読み取り可能なコード情報37Cを表示部26に表示させる。これにより、1つの伝票番号38Nで複数の来客の会計処理がまとめて行われる。このため、個別の会計を行わなくてもよく、会計処理を効率良く進めることができる。
また、本実施形態では、来客のスマートフォン20と共に、店舗の従業員が使用する店舗専用の注文入力端末装置を併用してもよい。一例として、新規注文を従業員の注文入力端末装置から入力した場合は、スマートフォン20の場合と同様に、伝票番号38Nが生成され、卓番号42に対応付けて伝票管理テーブル情報52Cに登録される。以後の追加注文については、伝票番号38Nを用いて行われるため、スマートフォン20の場合と同様の処理となる。なお、予め従業員の注文入力端末装置から来客の人数が入力され、伝票管理テーブル情報52Cのグループ人数38Pに人数が登録されている場合、MACアドレス22Bのカウント数がグループ人数38Pの人数を超えたときに、グループ人数38Pの人数に、超えた人数分の数を加算する機能を備えておくことが望ましい。
また、本実施形態では、同一の卓40での相席や個別会計についても対応が可能である。例えば、来客A,B以外の来客Cが相席した場合、来客Cは、所有するスマートフォン20を用いて、卓40に設けられたバーコード44を読み取って卓番号42を取得し、注文情報をオーダリングサーバ50に送信する。オーダリングサーバ50は、入力した注文情報に対して新たな伝票番号38Nを生成し、新規注文として登録する。また、グループ内で来客Bが来客Aと個別の会計にしたい場合、来客Bは、所有するスマートフォン20を用いて、卓40に設けられたバーコード44を読み取って卓番号42を取得し、注文情報をオーダリングサーバ50に送信する。この場合も、オーダリングサーバ50は、入力した注文情報に対して新たな伝票番号38Nを生成し、新規注文として登録する。これにより個別の会計が可能となる。また、3人以上のグループで1人だけを別の会計とすることも可能である。
オーダリングサーバ50は、会計装置90から、伝票番号38Nを含む会計処理完了通知が入力されると、登録部63が、伝票管理テーブル情報52C及び端末管理テーブル情報52Dの各々から、入力した伝票番号38Nに対応する卓番号42及びMACアドレス22Bを削除する。更に、登録部63は、注文内容テーブル情報52Eから、伝票番号38Nに対応する注文内容36を削除する。
なお、スマートフォン20では、注文情報の送信後、一定時間(例えば8時間程度)が経過した場合は、伝票番号38Nが削除される。なお、伝票番号38Nが削除される前に、異なる店舗のバーコード44を読み込んだ場合は、保持している伝票番号38Nを削除し、異なる店舗で注文の入力を開始してもよい。また、同じ店舗のバーコード44を再度読み込んだ場合には、保持している伝票番号38Nを削除し、新規注文として注文の入力を行うようにしてもよい。
以下、図9〜図13を参照して、本実施形態に係る親機となるスマートフォン20の作用を説明する。なお、図9は、本実施形態に係る親機となるスマートフォン20における注文入力アプリ22Aの処理の流れの一例を示すフローチャートである。図10及び図11は、本実施形態に係る親機となるスマートフォン20の表示部26に表示される画面の一例を示す正面図である。
まず、図9のステップ100では、1つのグループを構成する複数の来客の各々が、卓40に着席し、来客Aが所有するスマートフォン20の注文入力アプリ22Aを起動させると、一例として図10に示す初期画面26Aを表示部26に表示させる。図10に示す初期画面26Aには、5つの選択可能な項目として、「注文入力」、「注文履歴参照」、「バーコード読み取り」、「メニュー一覧」、「バーコード表示」が表示される。この「バーコード表示」は、表示部26にコード情報37Cを表示させるための項目とされる。なお、新規注文の場合等において参照する注文履歴が無い場合には、「注文履歴参照」は選択できないようにグレーアウト表示としてもよいし、非表示としてもよい。また、新規注文の場合等に伝票番号38Nが取得されていない場合には、「バーコード表示」は選択できないようにグレーアウト表示としてもよいし、非表示としてもよい。
なお、図10に示す画面では、一例として、日本語に対応しているが、外国人向けに複数の言語に対応した画面を表示できるようにしてもよい。この場合、外国人でもスムーズな注文入力等が可能となり、複数の言語で記載されたメニューブックを置いておく必要がなく望ましい。
次に、ステップ102では、判定部30が、図10に示す初期画面26Aの選択可能な項目から、所定の項目が押圧操作されたか否かを判定する。所定の項目が押圧操作されたと判定した場合(肯定判定の場合)、ステップ104に移行し、所定の項目が押圧操作されていないと判定した場合(否定判定の場合)、ステップ102で待機となる。なお、ここでいう所定の項目とは、「バーコード読み取り」及び「注文入力」とする。
ステップ104では、判定部30が、図10に示す初期画面26Aにて「バーコード読み取り」が押圧操作されたか否かを判定する。「バーコード読み取り」が押圧操作されたと判定した場合(肯定判定の場合)、ステップ106に移行し、「バーコード読み取り」が押圧操作されていないと判定した場合(否定判定の場合)、ステップ120に移行する。
ステップ106では、取得部31が、読取部23を用いて、バーコード44を読み取り、卓番号42を取得する。
ステップ108では、取得部31が、計時部35を用いて、バーコード44の読み取りを行った時点での日時を示す日時情報35Aを取得する。
ステップ110では、暗号化部32が、日時情報35Aを暗号化キーとして卓番号42の暗号化を行う。
ステップ112では、取得部31が、記憶部22に記憶されているMACアドレス22Bを取得する。
ステップ114では、送信処理部34が、取得部31により取得された日時情報35A、暗号化された卓番号42、及びMACアドレス22Bを送信待ちの状態として、CPU21Aのバッファ(図示せず)にセットする。
ステップ116では、判定部30が、伝票番号38Nをオーダリングサーバ50から受信済みか否かを判定する。伝票番号38Nを受信済みと判定した場合(肯定判定の場合)、ステップ118に移行し、伝票番号38Nを受信済みでないと判定した場合(否定判定の場合)、ステップ126に移行する。
ステップ118では、送信処理部34が、受信済みの伝票番号38NをCPU21Aのバッファにセットする。
一方、ステップ120では、判定部30が、図10に示す初期画面26Aにて「注文入力」が押圧操作されたか否かを判定する。「注文入力」が押圧操作されたと判定した場合(肯定判定の場合)、ステップ122に移行し、「注文入力」が押圧操作されていないと判定した場合(否定判定の場合)、ステップ102に戻る。
ステップ122では、注文入力部33が、一例として図10に示すメニュー一覧画面26Bを表示部26に表示させる。なお、この例では、メニュー一覧画面26Bを示す情報が取得済みであるとしているが、未取得の場合、図10に示す初期画面26Aの「メニュー一覧」を押圧操作することで、オーダリングサーバ50から取得する形態としてもよい。注文入力部33は、このメニュー一覧画面26Bを介して、来客Aが注文する飲食物及び個数、つまり、注文内容36の入力を受け付ける。なお、飲食物の個数については、メニュー一覧画面26Bにて飲食物が選択された場合に、選択された飲食物の個数を入力する画面を、メニュー一覧画面26Bにポップアップ表示させて入力するようにしてもよい。
ステップ124では、判定部30が、注文内容36の入力が終了したか否かを判定する。注文内容36の入力が終了したと判定した場合(肯定判定の場合)、ステップ126に移行する。この場合、送信処理部34は、入力が終了した注文内容36をCPU21Aのバッファにセットする。一方、注文内容36の入力が終了していないと判定した場合(否定判定の場合)、ステップ124にて注文内容36の入力が終了するまで待機となる。この例では、注文内容36の入力終了の判定は、メニュー一覧画面26Bの「確認」ボタンが押圧操作されたか否かにより行われる。この「確認」ボタンが押圧操作された場合、図10に示す注文確認画面26Cが表示部26に表示される。このとき、バーコード44の読み取りが終了していれば、卓番号42(この例ではA99)が注文確認画面26Cに表示される。なお、注文確認画面26Cは、注文内容36に対応する飲食物及び個数の一覧を表示する画面であり、注文確認画面26Cの「メニュー」ボタンが押圧操作されると、メニュー一覧画面26Bに戻り、飲食物を選択し直すことができる。
ステップ126では、判定部30が、CPU21Aのバッファに必要な情報が全て揃ったか否かを判定する。必要な情報の全ては揃っていないと判定した場合(否定判定の場合)、ステップ128に移行し、必要な情報が全て揃っていると判定した場合(肯定判定の場合)、ステップ130に移行する。ここで、必要な情報とは、親機側の注文情報として必要な情報であり、この例では、日時情報35A、暗号化された卓番号42、MACアドレス22B、及び注文内容36とされる。伝票番号38Nは必須情報ではないが、オーダリングサーバ50から受信済みであれば、伝票番号38Nもこれらの情報に含まれる。
ステップ128では、取得部31が、未取得の情報の取得を促すメッセージを表示部26に表示させ、ステップ102に戻る。この例では、未取得の情報が、日時情報35A、暗号化された卓番号42、及びMACアドレス22Bである場合、一例として図11に示す第1エラーメッセージ画面26Eを表示させる。一方、未取得の情報が、注文内容36である場合、一例として図11に示す第2エラーメッセージ画面26Fを表示させる。
ステップ130では、送信処理部34が、CPU21Aのバッファにセットされた、日時情報35A、暗号化された卓番号42、MACアドレス22B、及び注文内容36を含む注文情報と共に、注文情報の登録を要求する注文登録要求を、オーダリングサーバ50に送信する処理を行う。この例では、図10に示す注文確認画面26Cの「送信」ボタンが押圧操作されると、一例として図10に示す注文登録確認画面26Dを表示部26に表示させる。更に、この注文登録確認画面26Dの「OK」ボタンが押圧操作されると、上記の注文登録要求がオーダリングサーバ50に送信される。なお、スマートフォン20からオーダリングサーバ50に注文登録要求が送信され、注文登録が完了すると、図10に示す初期画面26Aの「注文履歴参照」が選択可能となる。この「注文履歴参照」が押圧操作されると、注文した注文内容36の履歴を参照することができる。このステップ130の処理が終了すると、親機における一連の注文入力アプリ22Aの処理も終了する。
次に、図12及び図13を参照して、親機となるスマートフォン20の初期画面26Aで「バーコード表示」が押圧操作された場合のスマートフォン20の作用を説明する。なお、図12は、本実施形態に係る親機となるスマートフォン20によるバーコード表示処理の流れの一例を示すフローチャートである。図13は、本実施形態に係るバーコード画面26Gの一例を示す正面図である。なお、本実施形態に係るバーコード表示処理は、注文入力アプリ22Aの一機能として実現される。
図12のステップ140では、来客Aが所有するスマートフォン20の注文入力アプリ22Aを起動させると、一例として図10に示す初期画面26Aを表示部26に表示させる。ここで、スマートフォン20は、オーダリングサーバ50から伝票番号38Nを取得しているため、初期画面26Aの「バーコード表示」は、選択可能な状態で表示されている。
ステップ142では、判定部30が、初期画面26Aの「バーコード表示」が押圧操作されたか否かを判定する。「バーコード表示」が押圧操作されたと判定した場合(肯定判定の場合)、ステップ144に移行し、「バーコード表示」が押圧操作されていないと判定した場合(否定判定の場合)、ステップ140に戻り待機となる。
ステップ144では、生成部37が、オーダリングサーバ50から取得した伝票番号38Nと、取得部31により取得した卓番号42と、オーダリングサーバ50のURLとを含むコード情報37Cを生成する。
ステップ146では、生成部37が、図13に示すように、コード情報37Cの一例として2次元バーコードを含むバーコード画面26Gを表示部26に表示させる。
なお、上記の実施形態では、コード情報37Cを親機となるスマートフォン20の側で生成する場合について説明したが、コード情報37Cをオーダリングサーバ50の側で生成し、スマートフォン20では単に表示だけを行う形態としてもよい。
次に、図14を参照して、本実施形態に係る子機となるスマートフォン20の作用を説明する。なお、図14は、本実施形態に係る子機となるスマートフォン20における注文入力アプリ22Aの処理の流れの一例を示すフローチャートである。
まず、図14のステップ150では、来客Bが所有するスマートフォン20の注文入力アプリ22Aを起動させると、一例として図10に示す初期画面26Aを表示部26に表示させる。
次に、ステップ152では、判定部30が、図10に示す初期画面26Aの選択可能な項目から、所定の項目が押圧操作されたか否かを判定する。所定の項目が押圧操作されたと判定した場合(肯定判定の場合)、ステップ154に移行し、所定の項目が押圧操作されていないと判定した場合(否定判定の場合)、ステップ152で待機となる。なお、ここでいう所定の項目とは、「バーコード読み取り」及び「注文入力」とする。
ステップ154では、判定部30が、図10に示す初期画面26Aにて「バーコード読み取り」が押圧操作されたか否かを判定する。「バーコード読み取り」が押圧操作されたと判定した場合(肯定判定の場合)、ステップ156に移行し、「バーコード読み取り」が押圧操作されていないと判定した場合(否定判定の場合)、ステップ168に移行する。
ステップ156では、取得部31が、読取部23を用いて、図13に示す親機となるスマートフォン20のバーコード画面26Gに表示されているコード情報37Cを読み取り、伝票番号38N及び卓番号42を取得する。
ステップ158では、取得部31が、計時部35を用いて、バーコード画面26Gに表示されているコード情報37Cの読み取りを行った時点での日時を示す日時情報35Aを取得する。
ステップ160では、暗号化部32が、日時情報35Aを暗号化キーとして卓番号42の暗号化を行う。
ステップ162では、取得部31が、記憶部22に記憶されているMACアドレス22Bを取得する。
ステップ164では、送信処理部34が、取得部31により取得された日時情報35A、暗号化された卓番号42、伝票番号38N、及びMACアドレス22Bを送信待ちの状態として、CPU21Aのバッファ(図示せず)にセットする。
一方、ステップ166では、判定部30が、図10に示す初期画面26Aにて「注文入力」が押圧操作されたか否かを判定する。「注文入力」が押圧操作されたと判定した場合(肯定判定の場合)、ステップ166に移行し、「注文入力」が押圧操作されていないと判定した場合(否定判定の場合)、ステップ152に戻る。
ステップ168では、注文入力部33が、一例として図10に示すメニュー一覧画面26Bを表示部26に表示させる。注文入力部33は、このメニュー一覧画面26Bを介して、来客Bが注文する飲食物及び個数、つまり、注文内容36の入力を受け付ける。
ステップ170では、判定部30が、注文内容36の入力が終了したか否かを判定する。注文内容36の入力が終了したと判定した場合(肯定判定の場合)、ステップ172に移行する。この場合、送信処理部34は、入力が終了した注文内容36をCPU21Aのバッファにセットする。一方、注文内容36の入力が終了していないと判定した場合(否定判定の場合)、ステップ170にて注文内容36の入力が終了するまで待機となる。
ステップ172では、判定部30が、CPU21Aのバッファに必要な情報が全て揃ったか否かを判定する。必要な情報の全ては揃っていないと判定した場合(否定判定の場合)、ステップ174に移行し、必要な情報が全て揃っていると判定した場合(肯定判定の場合)、ステップ176に移行する。ここで、必要な情報とは、子機側の注文情報として必要な情報であり、この例では、日時情報35A、暗号化された卓番号42、伝票番号38N、及びMACアドレス22Bとされる。
ステップ174では、取得部31が、未取得の情報の取得を促すメッセージを表示部26に表示させ、ステップ152に戻る。
ステップ176では、送信処理部34が、CPU21Aのバッファにセットされた、日時情報35A、暗号化された卓番号42、伝票番号38N、MACアドレス22B、及び注文内容36を含む注文情報と共に、注文情報の登録を要求する注文登録要求を、オーダリングサーバ50に送信する処理を行う。このステップ176の処理が終了すると、子機における一連の注文入力アプリ22Aの処理も終了する。
次に、図15を参照して、本実施形態に係るオーダリングサーバ50の作用を説明する。なお、図15は、本実施形態に係る注文登録処理プログラム52Aの処理の流れの一例を示すフローチャートであり、当該プログラムは、複数の来客のスマートフォン20の各々からの注文登録要求が入力部60により受け付けられた場合に実行が開始される。
まず、図15のステップ200では、復号部61が、注文登録要求された注文情報に含まれる、暗号化された卓番号42の復号(解読)を行い、判定部62が、復号部61により暗号化された卓番号42の復号に成功したか否かを判定する。卓番号42の復号に成功したと判定した場合(肯定判定の場合)、ステップ202に移行し、卓番号42の復号に失敗したと判定した場合(否定判定の場合)、ステップ204に移行する。
ステップ202では、判定部62が、日時情報35A及び卓番号42の双方が整合性を有するか否かを判定する。整合性を有していないと判定した場合(否定判定の場合)、ステップ204に移行し、整合性を有すると判定した場合(肯定判定の場合)、ステップ206に移行する。
ステップ204では、出力部64が、注文登録要求された注文情報の登録失敗を示すエラーメッセージを、通信部53を介してスマートフォン20に出力した後、本注文登録処理プログラム52Aを終了する。なお、スマートフォン20は、このエラーメッセージを入力すると、エラーメッセージに応じた処理を行う。
ステップ206では、判定部62が、注文登録要求された注文情報に伝票番号38Nが含まれているか否かを判定する。注文情報に伝票番号38Nが含まれていないと判定した場合(否定判定の場合)、ステップ208に移行する。一方、注文情報に伝票番号38Nが含まれていると判定した場合(肯定判定の場合)、ステップ218に移行する。
ステップ208では、登録部63が、注文登録要求された注文情報に対して、新たに伝票番号38Nを生成する。
ステップ210では、登録部63が、新たに生成した伝票番号38Nに対応付けて、注文登録要求された注文情報に含まれる卓番号42を伝票管理テーブル情報52Cに登録する。
ステップ212では、登録部63が、注文登録要求された注文情報に含まれるMACアドレス22Bを、新たに生成した伝票番号38Nに対応付けて端末管理テーブル情報52Dに登録する。
ステップ214では、登録部63が、新たに生成した伝票番号38Nに応じて、伝票管理テーブル情報52Cのグループ人数38Pに「1」をセットする。
ステップ216では、登録部63が、注文登録要求された注文情報のうち、注文内容36を伝票番号38N及びMACアドレス22Bに対応付けて、新規注文として注文内容テーブル情報52Eに登録する。
一方、ステップ218では、判定部62が、注文登録要求された注文情報に含まれる伝票番号38Nと同一の伝票番号が、伝票管理テーブル情報52Cに登録されている伝票番号38Nの中にあるか否かを判定する。同一の伝票番号38Nがあると判定した場合(肯定判定の場合)、ステップ220に移行し、同一の伝票番号38Nがないと判定した場合(否定判定の場合)、上述したステップ204に移行する。
ステップ220では、判定部62が、注文登録要求された注文情報に含まれるMACアドレス22Bが端末管理テーブル情報52Dに登録済みか否かを判定する。MACアドレス22Bが端末管理テーブル情報52Dに未登録と判定した場合(否定判定の場合)、ステップ222に移行する。一方、MACアドレス22Bが端末管理テーブル情報52Dに登録済みと判定した場合(肯定判定の場合)、ステップ226に移行する。
ステップ222では、登録部63が、注文登録要求された注文情報に含まれるMACアドレス22Bを、卓番号42と共に登録済みの伝票番号38Nに対応付けて端末管理テーブル情報52Dに登録する。
ステップ224では、登録部63が、端末管理テーブル情報52Dを参照し、登録済みの伝票番号38Nが対応付けられたMACアドレス22Bの数をカウントし、カウントした数を、伝票管理テーブル情報52Cのグループ人数38Pにセットする。
ステップ226では、登録部63が、注文登録要求された注文情報のうち、注文内容36を伝票番号38N及びMACアドレス22Bに対応付けて、追加注文として注文内容テーブル情報52Eに登録する。
次に、ステップ228では、出力部64が、注文登録要求された注文情報の登録が成功したとして、伝票番号38Nを、通信部53を介してスマートフォン20に出力した後、一連の本注文登録処理プログラム52Aを終了する。
次に、図16を参照して、スマートフォン20からメニュー一覧要求が入力された場合のオーダリングサーバ50の作用を説明する。なお、図16は、本実施形態に係る注文登録処理プログラム52Aにおける割込処理の流れの一例を示すフローチャートであり、一例として図10に示す初期画面26Aの「メニュー一覧」が押圧操作された場合に実行される。
まず、図16のステップ300では、判定部62が、入力部60を介してスマートフォン20から受け付けた入力がメニュー一覧要求であるか否かを判定する。メニュー一覧要求であると判定した場合(肯定判定の場合)、ステップ302に移行し、メニュー一覧要求ではないと判定した場合(否定判定の場合)、ステップ300で待機となる。
ステップ302では、出力部64が、スマートフォン20からのメニュー一覧要求に応じて、メニュー一覧表を示す情報を、通信部53を介してスマートフォン20に出力した後、一連の本割込処理を終了する。メニュー一覧表を示す情報を入力すると、スマートフォン20は、上述したように、メニュー一覧画面26Bの表示が可能となる。
次に、図17を参照して、会計装置90から注文内容出力要求が入力された場合のオーダリングサーバ50の作用を説明する。なお、図17は、本実施形態に係る注文登録処理プログラム52Aにおける割込処理の流れの他の例を示すフローチャートであり、会計装置90から注文内容出力要求が入力された場合に実行される。
まず、図17のステップ400では、判定部62が、入力部60を介して会計装置90から受け付けた入力が注文内容36の出力を要求する注文内容出力要求であるか否かを判定する。注文内容出力要求であると判定した場合(肯定判定の場合)、ステップ402に移行し、注文内容出力要求ではないと判定した場合(否定判定の場合)、ステップ400で待機となる。
ステップ402では、出力部64が、上記注文内容出力要求により入力された伝票番号38Nに基づいて、注文内容テーブル情報52Eを検索し、伝票番号38Nに対応する注文内容36を、外部機器I/F54を介して会計装置90に出力する。会計装置90は、注文内容36に基づいて会計処理を行い、会計処理完了通知をオーダリングサーバ50に出力する。
ステップ404では、判定部62が、入力部60を介して会計装置90から受け付けた入力が会計処理完了通知であるか否かを判定する。会計処理完了通知であると判定した場合(肯定判定の場合)、ステップ406に移行し、会計処理完了通知ではないと判定した場合(否定判定の場合)、ステップ404で待機となる。
ステップ406では、登録部63が、会計処理完了通知に含まれる伝票番号38Nに基づいて、伝票管理テーブル情報52Cから、該当する卓番号42及び伝票番号38Nを削除する。
ステップ408では、登録部63が、会計処理完了通知に含まれる伝票番号38Nに基づいて、端末管理テーブル情報52Dから、該当するMACアドレス22B及び伝票番号38Nを削除する。
ステップ410では、登録部63が、注文内容テーブル情報52Eから、該当する注文内容36を削除した後、一連の本割込処理を終了する。これにより、グループを構成する複数の来客についての注文から会計までの一連の注文管理が完了し、次の来客の注文管理にスムーズに移行することができる。
以上、実施形態として情報処理システム、情報処理装置、及び携帯端末装置を例示して説明した。実施形態は、情報処理装置が備える各部又は携帯端末装置が備える各部の機能をコンピュータに実行させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
その他、上記実施形態で説明した情報処理装置及び携帯端末装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。