<法的事項の遵守>
本明細書に記載の開示は、通信の秘密など、本開示の実施に必要な実施国の法的事項遵守を前提とすることに留意されたい。
<実施形態>
本明細書では、分かり易いように「限定ではなく例として」と記載する箇所があるが、該当箇所ばかりでなく、以下説明する実施形態の全体について、その記載内容に限定されるものではないことに留意されたい。
本開示に係るプログラム等を実施するための実施形態について、図面を参照して説明する。
システムとは、限定ではなく例として、複数の装置を有して構成されるものとすることができる。
複数の装置は、同じ種類の装置の組合せとしてもよいし、異なる種類の装置の組合せとしてもよいし、同じ種類の装置と異なる種類の装置との組合せとしてもよい。
なお、システムとは、限定ではなく例として、複数の装置が協働して何らかの処理を行うもの、と考えることもできる。
また、クライアント(クライアント装置)とサーバとに関するシステムとは、限定ではなく例として、少なくとも以下のいずれかと考えることができる。
(1)端末&サーバ
(2)サーバ
(3)端末
(1)は、限定ではなく例として、少なくとも1つの端末と、少なくとも1つのサーバとを含むシステムである。この一例は、クライアントサーバシステムである。
サーバは、限定ではなく例として、以下の装置によって構成されており、単独の装置であってもよいし、複数の装置の組合せであってもよいものとする。
具体的には、サーバは、限定ではなく例として、少なくとも1つのプロセッサー(限定ではなく例として、CPU:Central Processing Unit、GPU:Graphics Processing Unit、APU:Accelerated Processing Unit、DSP:Digital Signal Processor(限定ではなく例として、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array)等)、コンピュータ装置(プロセッサー+メモリ)、制御装置、演算装置、処理装置等のいずれかを有して構成され、いずれか1つの装置の同種を複数備える構成(限定ではなく例として、CPU+CPU、ホモジニアスマルチコアプロセッサー等)や、いずれか1つの装置の異種を複数備える構成(限定ではなく例として、CPU+DSP、ヘテロジニアスマルチコアプロセッサー等)としてもよいし、複数の装置の組み合わせ(限定ではなく例として、プロセッサー+コンピュータ装置、プロセッサー+演算装置、複数の装置をヘテロジニアス化したもの等)であってもよい。
なお、プロセッサーは、仮想プロセッサーとしてもよい。
また、サーバによって何らかの処理を実行する場合に、単一の装置で構成される場合は、単一の装置によって実施例に記載されている処理が実行される。また、複数の装置を有して構成されている場合には、一部の処理を一方の装置が実行し、その他の処理を他方の装置が実行するように構成されていてもよい。限定ではなく例として、プロセッサーと、演算装置とを有して構成される場合、第1処理をプロセッサーが実行し、第2処理を演算装置が実行するように構成されていてもよい。
また、複数の装置で構成する場合には、各々の装置が互いに物理的に離れた位置に配置されて構成されてもよい。
また、サーバの機能は、限定ではなく例として、クラウドコンピューティングにおけるPaaSやIaaS、SaaSの形態で提供されるようにしてもよい。
また、システムの制御部は、端末の制御部とサーバの制御部とのうちの少なくともいずれか一方とすることができる。つまり、限定ではなく例として、(1A)端末の制御部のみ、(1B)サーバの制御部のみ、(1C)端末の制御部とサーバの制御部との両方、のうちのいずれかを、システムの制御部とすることができる。
また、システムの制御部が行う制御や処理(以下、包括的に「制御等」と称する。)は、(1A)端末の制御部のみによって行うようにしてもよいし、(1B)サーバの制御部のみによって行うようにしてもよいし、(1C)端末の制御部とサーバの制御部との両方によって行うようにしてもよい。
また、(1C)では、限定ではなく例として、システムが制御部によって行う制御等のうちの一部の制御等を端末の制御部によって行うようにし、残りの制御等をサーバの制御部によって行うようにしてもよい。この場合、制御等の割り当て(割り振り)は、等分であってもよいし、等分ではなく異なる割合で割り当ててもよい。
また、サーバの通信部という場合、サーバが単一の装置によって構成されている場合には、単一の装置が備える通信部そのものであってもよい。また、サーバが複数の装置を有して構成されている場合には、サーバの通信部は、各々の装置が備える各々の通信部を含む構成であってもよい。
限定ではなく例として、サーバは、第1装置と第2装置とを備え、第1装置は第1通信部を有し、第2装置は第2通信部を有する場合、サーバの通信部は、第1通信部と第2通信部とを含む概念としてもよい。
(2)は、限定ではなく例として、複数のサーバによって構成されるシステム(以下、「サーバシステム」と称する。)とすることができる。この場合、各々のサーバの構成としては、前述した構成を同様に適用することができる。
サーバシステムが行う制御等は、複数のサーバのうち、(2A)一のサーバのみによって行うようにしてもよいし、(2B)他のサーバのみによって行うようにしてもよいし、(2C)一のサーバと他のサーバとが行うようにしてもよい。
また、(2C)では、限定ではなく例として、サーバシステムが行う制御等のうちの一部の制御等を一のサーバが行うようにし、残りの制御等を他のサーバが行うようにしてもよい。この場合、制御等の割り当て(割り振り)は、等分であってもよいし、等分ではなく異なる割合で割り当ててもよい。
(3)は、限定ではなく例として、複数の端末によって構成されるシステムとすることができる。
このシステムは、限定ではなく例として、以下のようなシステムとすることができる。
・サーバの機能を端末に持たせるシステム(分散システム)。これは、限定ではなく例として、ブロックチェーンの技術を用いて実現することが可能である。
・端末同士が無線通信を行うシステム。これは、限定ではなく例として、ブルートゥース(登録商標)等の近距離無線通信技術を用いてP2P(ピアツーピア)方式等で通信を行うことで実現可能である。
なお、上記は、制御部に限らず、システムの構成要素となり得る入出力部、通信部、記憶部、時計部等の各機能部についても同様である。
以下の実施形態では、限定ではなく例として、端末とサーバとを含むシステム(限定ではなく例として、クライアントサーバシステム)を例示する。
なお、サーバとして、上記(2)のサーバシステムを適用することも可能である。
また、端末とサーバとを含むシステムに代えて、サーバを含まないシステム、限定ではなく例として、上記(3)のシステムを適用することも可能である。
この場合の実施形態は、前述したブロックチェーンの技術等に基づいて構成することが可能である。具体的には、限定ではなく例として、以下の実施形態で説明するサーバに記憶されて管理されるデータを、ブロックチェーン上に保管(格納)する。そして、端末が、ブロックチェーンへのトランザクションを生成し、トランザクションがブロックチェーン上で承認されると、ブロックチェーン上に保管されたデータが更新されるようにすることができる。
なお、端末と表現した場合でも、これは、クライアントサーバにおけるクライアントの装置としての端末の意味に限定されるものではない。
つまり、端末は、クライアントサーバにおけるものではない装置の概念を含むこともあり得る。
また、本明細書では、適宜「通信I/Fによって」という表現を用いる。これは、限定ではなく例として、装置が、制御部(プロセッサー等)の制御に基づいて、通信I/Fを介して(通信部を介して)、各種の情報やデータを送受信することを示してもよいものとする。
また、本明細書において「関する」、「関連する」と記載された用語について、「Aに関するB」や「Aに関連するB」という場合、限定ではなく例として、「A」と何らかの関係性を有する「B」を意味してよいものとする。この具体例については後述する。
また、本明細書において、「AとBとを送信する」、「AとBとを受信する」といったように、装置が2以上のものを対象として処理を行うことには、「A」と「B」とをタイミングを合わせて行うもの(以下、「同時」という。)と、「A」と「B」とをタイミングをずらして行うもの(以下、「非同時」という。)とを含めてよいものとする。
限定ではなく例として、第1情報と第2情報とを送信するという場合、第1情報と第2情報とをタイミングを合わせて送信するものと、第1情報と第2情報とをタイミングをずらして送信するものとの両方の概念を含めてよいものとする。
なお、ラグ(タイムラグ)を考慮し、「同時」には「ほぼ同時」を含めてよいものとする。
なお、「A」と「B」とをタイミングをずらして行うといっても、これはあくまでも「A」と「B」とを対象として処理を行うものであればよく、その目的は必ずしも同じでなくてもよいものとする。
限定ではなく例として、上記のように第1情報と第2情報とを送信するという場合、第1情報と第2情報とを送信しさえすればよく、同じ目的で第1情報と第2情報とを送信する場合の他、異なる目的で第1情報と第2情報とを送信する場合も含めてよいものとする。
以下の実施例では、ユーザがチャットを行うためのサービス(以下、「チャットサービス」と称する。)の一例として、メッセージングサービス(Messaging Service)を例示する。また、チャットサービスを実現するためのアプリケーションを「チャットアプリケーション」と称し、メッセージングサービスを実現するためのアプリケーションを「メッセージングアプリケーション」と称する。
チャットアプリケーションでは、限定ではなく例として、ユーザがチャットルームでチャットを行うことができるようにすることができる。また、チャットアプリケーションでは、限定ではなく例として、ユーザ間における通話(音声通話やビデオ通話等)を行うことができるようにすることができる。
なお、メッセージングサービス:MS(インスタントメッセージサービス:IMSを含む。)は、ソーシャルネットワーキングサービス:SNSの1つの形態(一形態)と考えることもできる。このため、メッセージンサービスとソーシャルネットワーキングサービスとを区別してもよいし、区別しなくてもよい。つまり、ソーシャルネットワーキングサービスにメッセージングサービスを含めてもよいものとする。
また、以下の実施例では、メッセージングサービスの一例として、サーバを介して複数の装置(限定ではなく例として、端末)間で、コンテンツを簡単なメッセージの形式で送受するインスタントメッセージングサービス:IMS(Instant Messaging Service)を例示する。
インスタントメッセージングアプリケーションでは、限定ではなく例として、ユーザがトークルームでトークを行うようにすることができる。また、インスタントメッセージングアプリケーションでは、限定ではなく例として、ユーザ間における通話(音声通話やビデオ通話等)を行うことができるようにすることができる。
チャットルーム(限定ではなく例として、トークルーム)とは、複数のユーザの端末間で送受信されるコンテンツを各々のユーザが閲覧できるUI(User Interface)やGUI(Graphical User Interface)とすることができる。
また、トークルームには、一対一のユーザのトークルーム(以下、「一対一トークルーム」と称する。)、複数のユーザを含むグループのトークルーム(以下、「グループトークルーム」と称する。)、公式アカウントのユーザとのトークルーム(以下、「OAトークルーム」と称する。)等を含めることができる。
なお、一対一トークルームは、データ管理上、一対一のユーザや一対一のアカウントのトークルームとして管理してもよいし、2名のユーザや2つのアカウントで構成されるグループのトークルームとして管理してもよい。
公式アカウントは、一般のユーザではなく事業者のアカウント(事業者のユーザのアカウント)であり、この公式アカウントのユーザも、限定ではなく例として、一般のユーザの端末と同様の端末を利用して、サーバを介して、他の装置との間でコンテンツ(メッセージ)の送受信を行うことができるようにすることができる。
コンテンツとは、送信元から送信先に送信される情報であってもよい。また、コンテンツは、1または複数のコンテンツであってもよい。
コンテンツには、限定ではなく例として、テキスト形式のテキストコンテンツ、画像(静止画像、動画像の少なくともいずれか一方を含む。)形式の画像コンテンツ、音(音声を含む。)形式の音コンテンツなどを含めてよいものとする。
なお、この他にも、ユーザの操作に供するボタンやアイコン等の操作コンテンツや、リンク情報(限定ではなく例として、URI(Uniform Resource Identifier)等を含む。)などのリンクコンテンツを含めてもよいものとする。
テキストには、限定ではなく例として、文字コードで表される各国の文字、拡張文字、機種依存文字、数字、記号、図形及び符号の少なくともいずれか1つを含めてよいものとする。
なお、テキストは、上記の文字、拡張文字、機種依存文字、数字、記号、図形及び符号の少なくとも1つを含まなくてもよく、その他のテキストを含んでもよい。
画像には、限定ではなく例として、アイコン、ボタン、スタンプ、絵文字、バナー画像といった各種の画像の情報のうちの少なくともいずれか1つを含めることができる。
また、以下の実施例では、端末20のユーザが商品の価格の検索や確認等を行うことを可能とし、端末20のユーザの買い物を補助するサービスの一例として、買い物補助サービスを例示する。また、買い物補助サービスを実現するためのアプリケーションを「買い物補助アプリケーション」と称する。
買い物補助サービス(買い物補助アプリケーション)を実現するための形態としては、限定ではなく例として、以下のいずれかの形態を適用することができる。
(A)買い物補助アプリケーションを単体で構成する形態
(B)メッセージングアプリケーションの一機能として買い物補助サービスの機能を持たせる形態
(C)買い物補助サービスの機能とメッセージングサービスの機能とを有するアプリケーション(統合的なアプリケーション)を構成する形態
(D)買い物補助アプリケーションとは別のアプリケーションとしてメッセージングアプリケーションを構成する形態
(B)や(C)の形態では、限定ではなく例として、買い物補助サービス事業者を、メッセージングサービス事業者と同じ事業者とすることができる。
また、この場合、1つの方法として、メッセージングアプリケーションにおけるユーザのアカウントと、買い物補助アプリケーションにおけるユーザのアカウントとを共通のアカウントとすることができる。
また、この場合、別の方法として、メッセージングアプリケーションにおけるユーザのアカウントと、買い物補助アプリケーションにおけるユーザのアカウントとが自動的に関連付けられる(連携される)ようにすることができる。
(D)の形態では、限定ではなく例として、買い物補助サービス事業者を、メッセージングサービス事業者とは異なる事業者とすることができる。
また、(D)の形態では、メッセージングアプリケーションにおけるユーザのアカウントと、買い物補助アプリケーションにおけるユーザのアカウントとを関連付ける処理(連携する処理)を行うようにすることができる。
なお、上記とは異なり、買い物補助アプリケーションの一機能としてメッセージングサービスの機能を持たせるようにすることも可能である。
以下では、買い物補助アプリケーションの名称を「Shopping Assistant App」として図示・説明する。
また、以下の実施例では、店舗で販売される商品を対象として説明するが、店舗で提供されるサービスを同様に適用することも可能である。つまり、以下の実施例における「商品」は「サービス」と読み替えてもよいものとする。
また、商品のみ、またはサービスのみに限らず、商品とサービスとを組み合わせて適用することも可能である。
<第1実施例>
第1実施例は、ユーザの端末20から送信される、商品(またはサービス)の金額に関する情報(限定ではなく例として、店舗で購入された商品(またはサービス)の金額に関する情報)に基づいて、サーバ10が商品価格等に関する情報を集計する実施例である。
第1実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
端末20からサーバ10に対しては、商品(またはサービス)の金額に関する情報がどのような方法で送信されてもよいが、以下説明する実施例では、限定ではなく例として、ユーザが店舗で商品等を購入した際に受け取ったレシートを利用して、自己の端末20から金額に関する情報をサーバ10に送信する場合を主として例示する。
なお、詳細は後述するが、レシートを利用せずに、商品(またはサービス)の金額に関する情報をユーザが自身で入力するようにしてもよい。
<システム構成>
図1-1は、本開示の実施形態における通信システム1のシステム構成の一例を示す図である。
通信システム1では、限定ではなく例として、ネットワーク30を介して、サーバ10と、複数の端末20(端末20A,端末20B,端末20C,・・・)とが接続される。
サーバ10は、ネットワーク30を介して、ユーザが所有する端末20に、所定のサービス(限定ではなく例として、買い物補助サービス、メッセージングサービス等)を提供する機能を有する。
本実施形態では、買い物補助サービス事業者(運営者)やメッセージングサービス事業者(運営者)をサーバ10のユーザとすることができる。
なお、ネットワーク30に接続されるサーバ10の数や端末20の数は限定されない。
端末20(端末20A,端末20B,端末20C、・・・)は、各実施例において記載する機能を実現できる情報処理端末であればどのような端末であってもよい。端末20は、限定ではなく例として、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(限定でなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定でなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定でなく例として、PDA・(personal digital assistant)、電子メールクライアントなど)、ウェアラブル端末(メガネ型デバイス、時計型デバイスなど)、VR(Virtual Reality)端末、スマートスピーカ(音声認識用デバイス)、または他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、端末20は情報処理端末と表現されてもよい。
端末20A、端末20Bおよび端末20Cの構成は、限定ではなく例として、同一とすることができる。また、必要に応じて、ユーザXが利用する端末を端末20Xと表現し、ユーザXまたは端末20Xに対応づけられた、所定のサービスにおけるユーザ情報をユーザ情報Xと表現してもよいし、しなくてもよい。
なお、ユーザ情報とは、所定のサービスにおいてユーザが利用するアカウントに対応付けられたユーザの情報である。ユーザ情報は、限定でなく例として、ユーザにより入力される、または、所定のサービスにより付与される、ユーザの名前、ユーザのアイコン画像、ユーザの年齢、ユーザの性別、ユーザの住所、ユーザの趣味趣向、ユーザの識別子などのユーザに対応づけられた情報を含み、これらのいずれか一つまたは、組み合わせであってもよいし、そうでなくてもよい。
ネットワーク30は、1以上の端末20と、1以上のサーバ10とを接続する役割を担う。すなわち、ネットワーク30は、上記の各種の装置が接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。
ネットワーク30のうちの1つまたは複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。ネットワーク30は、限定ではなく例として、アドホック・ネットワーク(ad hoc network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(virtual private network:VPN)、ローカル・エリア・ネットワーク(local area network:LAN)、ワイヤレスLAN(wireless LAN:WLAN)、広域ネットワーク(wide area network:WAN)、ワイヤレスWAN(wireless WAN:WWAN)、大都市圏ネットワーク(metropolitan area network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(integrated service digital networks)、無線LAN、LTE(long term evolution)、CDMA(code division multiple access)、ブルートゥース(Bluetooth(登録商標))、衛星通信など、または、これらの2つ以上の組合せを含むことができる。ネットワーク30は、1つまたは複数のネットワーク30を含むことができる。
サーバ10(限定ではなく、サーバ、情報処理装置、情報管理装置の一例)は、端末20に対して、所定のサービスを提供する機能を備える。サーバ10は、各実施形態において記載する機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ10は、限定ではなく例として、サーバ装置、コンピュータ(限定ではなく例として、デスクトップ、ラップトップ、タブレットなど)、メディアコンピュータプラットホーム(限定ではなく例として、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(限定ではなく例として、PDA、電子メールクライアントなど)、あるいは他種のコンピュータ、またはコミュニケーションプラットホームを含む。また、サーバ10は情報処理装置と表現されてもよい。サーバ10と端末20とを区別する必要がない場合は、サーバ10と端末20とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
[各装置のハードウェア(HW)構成]
通信システム1に含まれる各装置のHW構成について説明する。
(1)端末のHW構成
図1-1には、端末20のHW構成の一例を示している。
端末20は、制御部21(CPU:central processing unit(中央処理装置))、記憶部28、通信I/F22(インタフェース)、入出力部23、時計部29A、位置算出用情報検出部29Bを備える。端末20のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、端末20のHW構成として、すべての構成要素を含むことは必須ではない。限定ではなく例として、端末20は、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
通信I/F22は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F22は、ネットワーク30を介して、サーバ10等の各種装置との通信を実行する機能を有する。通信I/F22は、各種データを制御部21からの指示に従って、サーバ10等の各種装置に送信する。また、通信I/F22は、サーバ10等の各種装置から送信された各種データを受信し、制御部21に伝達する。また、通信I/F22を単に通信部と表現する場合もある。また、通信I/F22が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
入出力部23は、端末20に対する各種操作を入力する装置や、端末20で処理された処理結果を出力する装置等を含む。入出力部23は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
入力部は、ユーザからの入力を受け付けて、入力に係る情報を制御部21に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含む。
出力部は、制御部21で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
あくまでも一例であるが、入出力部23は、限定ではなく例として、表示部24、音入力部25、音出力部26、撮像部27を備える。
表示部24は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。表示部24は、限定ではなく例として、タッチパネル、タッチディスプレイ、モニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中など(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含む。なお、これらの表示部24は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
音入力部25は、音データ(音声データを含む。以下同様。)の入力に利用される。音入力部25は、マイクなどを含む。
音出力部26は、音データの出力に利用される。音出力部26は、スピーカなどを含む。
撮像部27は、画像データ(静止画像データ、動画像データを含む。以下同様。)の取得に利用される。撮像部27は、カメラなどを含む。
入出力部23がタッチパネルの場合、入出力部23と表示部24とは、略同一の大きさおよび形状で対向して配置されていてもよい。
時計部29Aは、端末20の内蔵時計であり、時刻情報(計時情報)を出力する。時計部29Aは、限定ではなく例として、水晶発振器を利用したクロック等を有して構成される。時計部29Aは、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
なお、時計部29Aは、NITZ(Network Identity and Time Zone)規格等を適用したクロックを有していてもよいし、有していなくてもよい。
位置算出用情報検出部29Bは、制御部21が自己の端末20の位置を算出(測定)するために必要な情報(以下、「位置算出用情報」と称する。)を検出(計測)する機能部である。位置算出用情報検出部29Bは、限定ではなく例として、位置算出用センサ部と表現することもできる。
位置算出用情報検出部29Bは、限定ではなく例として、GPS(Global Positioning System)等の衛星測位システムを利用して端末20の位置を算出するためのセンサやユニットである衛星測位センサ(衛星測位ユニット)や、慣性航法システムを利用して端末20の位置を算出するためのセンサやユニットである慣性計測センサ(慣性計測ユニット(IMU(Inertial Measurement Unit)))、UWB(超広帯域無線:Ultra Wide Band)を利用して端末20の位置を算出するためのセンサやユニットであるUWB測位センサ(UWB測位ユニット)等を含む。
衛星測位ユニットは、限定ではなく例として、不図示のアンテナで受信される測位用衛星から発信されている測位用衛星信号を含むRF(Radio Frequency)信号をデジタル信号に変換するRF受信回路や、RF受信回路から出力されるデジタル信号に対して相関演算処理等を行って測位用衛星信号を捕捉し、測位用衛星信号から取り出した衛星軌道データや時刻データ等の情報を、位置算出用情報として出力するベースバンド処理回路等を有する。
慣性計測ユニットは、慣性航法演算によって端末20の位置を算出するために必要な情報を検出するセンサである慣性センサを有する。慣性センサには、限定ではなく例として、3軸の加速度センサや3軸のジャイロセンサが含まれ、加速度センサによって検出された加速度と、ジャイロセンサによって検出された角速度とを、位置算出用情報として出力する。
UWB測位ユニットは、限定ではなく例として、不図示のアンテナで受信される測位用ビーコンから発信されている測位用超広帯域パルス信号を含む超広帯域RF(Radio Frequency)信号をデジタル信号に変換する超広帯域RF受信回路や、超広帯域RF受信回路から出力されるデジタル信号に基づいて端末20と測位用ビーコンとの相対位置を算出する相対位置算出処理回路等を有する。
なお、限定ではなく例として、UWB測位ユニットは、不図示のアンテナから測位用超広帯域パルス信号を含む超広帯域RF信号を送信することで、端末20を測位用ビーコンとして機能させてもよいし、そうしなくてもよい。
制御部21は、限定ではなく例として、位置算出用情報検出部29Bによって検出された位置算出用情報に基づいて、定期的なタイミングや特定のタイミングで、自己の端末20の位置を算出する。端末の位置を「端末位置」と称し、算出された端末位置を「算出端末位置」と称する。制御部21は、算出端末位置を、その算出端末位置を算出した日時と関連付けて、算出端末位置履歴データとして記憶部28に記憶させるようにしてもよいし、そうしなくてもよい。
制御部21は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
制御部21は、限定ではなく例として、中央処理装置(CPU)、マイクロプロセッサ(microprocessor)、プロセッサコア(processor core)、マルチプロセッサ(multiprocessor)、ASIC(application-specific integrated circuit)、FPGA(field programmable gate array)を含む。
記憶部28は、端末20が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部28は、限定ではなく例として、HDD(hard disk drive)、SSD(solid state drive)、フラッシュメモリ、RAM(random access memory)、ROM(read only memory)など各種の記憶媒体を含む。また、記憶部28は、メモリ(memory)と表現されてもよいし、されなくてもよい。
端末20は、プログラムPを記憶部28に記憶し、このプログラムPを実行することで、制御部21が、制御部21に含まれる各部としての処理を実行する。つまり、記憶部28に記憶されるプログラムPは、端末20に、制御部21が実行する各機能を実現させる。また、このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
(2)サーバのHW構成
図1-1には、サーバ10のHW構成の一例を示している。
サーバ10は、制御部11(CPU)、記憶部15、通信I/F14(インタフェース)、入出力部12、時計部19を備える。サーバ10のHWの各構成要素は、限定ではなく例として、バスBを介して相互に接続される。なお、サーバ10のHWは、サーバ10のHWの構成として、全ての構成要素を含むことは必須ではない。限定ではなく例として、サーバ10のHWは、個々の構成要素、または複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
制御部11は、プログラム内に含まれたコードまたは命令によって実現する機能を実行するために物理的に構造化された回路を有し、限定ではなく例として、ハードウェアに内蔵されたデータ処理装置により実現される。
制御部11は、代表的には中央処理装置(CPU)、であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGAであってもよいし、そうでなくてもよい。本開示において、制御部11は、これらに限定されない。
記憶部15は、サーバ10が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。記憶部15は、HDD、SSD、フラッシュメモリなど各種の記憶媒体により実現される。ただし、本開示において、記憶部15は、これらに限定されない。また、記憶部15は、メモリ(memory)と表現されてもよいし、されなくてもよい。
通信I/F14は、ネットワーク30を介して各種データの送受信を行う。通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信I/F14は、ネットワーク30を介して、端末20等の各種装置との通信を実行する機能を有する。通信I/F14は、各種データを制御部11からの指示に従って、端末20等の各種装置に送信する。また、通信I/F14は、端末20等の各種装置から送信された各種データを受信し、制御部11に伝達する。また、通信I/F14を単に通信部と表現する場合もある。また、通信I/F14が物理的に構造化された回路で構成される場合には、通信回路と表現する場合もある。
入出力部12は、サーバ10に対する各種操作を入力する装置や、サーバ10で処理された処理結果を出力する装置等を含む。入出力部12は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
入力部は、ユーザからの入力を受け付けて、入力に係る情報を制御部11に伝達できる全ての種類の装置のいずれかまたはその組み合わせにより実現される。入力部は、代表的にはキーボード等に代表されるハードウェアキーや、マウス等のポインティングデバイスで実現される。なお、入力部は、限定ではなく例として、タッチパネルやカメラ(動画像を介した操作入力)、マイク(音声による操作入力)を含んでいてもよいし、そうでなくてもよい。
出力部は、制御部11で処理された処理結果を出力することができる全ての種類の装置のいずれかまたはその組み合わせにより実現される。出力部は、限定ではなく例として、 タッチパネル、タッチディスプレイ、スピーカ(音出力)、レンズ(限定ではなく例として3D(three dimensions)出力や、ホログラム出力)、プリンターなどを含む。
あくまでも一例であるが、入出力部12は、限定ではなく例として、表示部13を備える。
表示部13は、ディスプレイ等で実現される。ディスプレイは、代表的にはモニタ(限定ではなく例として、液晶ディスプレイやOELD(organic electroluminescence display))で実現される。なお、ディスプレイは、ヘッドマウントディスプレイ(HDM)などであってもよいし、そうでなくてもよい。なお、これらのディスプレイは、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。本開示において、ディスプレイは、これらに限定されない。
時計部19は、サーバ10の内蔵時計であり、時刻情報(計時情報)を出力する。時計部19は、限定ではなく例として、ハードウェアクロックとしてのRTC(Real Time Clock)やシステムクロック等を有して構成される。時計部19は、限定ではなく例として、計時部や時刻情報検出部と表現することもできる。
(3)その他
サーバ10は、プログラムPを記憶部15に記憶し、このプログラムPを実行することで、制御部11が、制御部11に含まれる各部としての処理を実行する。つまり、記憶部15に記憶されるプログラムPは、サーバ10に、制御部11が実行する各機能を実現させる。このプログラムPは、プログラムモジュールと表現されてもよいし、されなくてもよい。
他の装置についても同様である。
本開示の各実施形態においては、端末20および/またはサーバ10のCPUがプログラムPを実行することにより、実現するものとして説明する。
なお、端末20の制御部21、および/または、サーバ10の制御部11は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1または複数の集積回路により実現されてよく、各実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSIなどと呼称されることもある。そのため、制御部21は、制御回路と表現されてもよいし、されなくてもよい。
また、本開示の各実施形態のプログラムP(限定ではなく例として、ソフトウェアプログラム、コンピュータプログラム、またはプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムPを記憶可能である。また、プログラムPは、本開示の各実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示の各実施形態の機能を記憶媒体にすでに記録されているプログラムPとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
また、システムのプログラム(システムによって実行されるプログラム)という場合、システムについては前述した通りである。そして、前述したシステムのプログラムとは、システム全体で実行可能なプログラムであって、このプログラムは、限定ではなく例として、システムを構成する装置個々のプログラムで構成されてもよく、システムを構成する個々の装置に保存されるプログラムは、各々異なっていてもよいものとする。つまり、システムを構成する個々の装置で共通のプログラムでなくてもよいものとする。
限定ではなく例として、システムが端末とサーバとで構成されている場合、システムのプログラムをP1とすると、システムのプログラムP1は、端末に保存されたプログラムP2と、サーバに保存されたプログラムP3とで構成され、P2とP3とは、システムのプログラムを実行するためのものであり、それぞれ異なるプログラムとなっていてもよい。限定ではなく例として、端末に保存されたプログラムP2は、第1の処理を実行し、第1の処理をした結果をサーバに送信するプログラムであり、サーバに保存されたプログラムP3は、受信した第1の処理をした結果に対して第2の処理を行い、第2の処理を行った結果を端末に送信するプログラムであってもよい。
記憶媒体は、1つまたは複数の半導体ベースの、または他の集積回路(IC)(限定ではなく例として、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、またはドライブ、任意の他の適切な記憶媒体、またはこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムPを記憶可能であれば、どのようなデバイスまたは媒体であってもよい。また、記憶媒体をメモリ(memory)と表現されてもよいし、されなくてもよい。
サーバ10および/または端末20は、記憶媒体に記憶されたプログラムPを読み出し、読み出したプログラムPを実行することによって、各実施形態に示す複数の機能部の機能を実現することができる。
また、本開示のプログラムPは、プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ10および/または端末20に提供されてもよいし、されなくてもよい。サーバ10および/または端末20は、限定ではなく例として、インターネット等を介してダウンロードしたプログラムPを実行することにより、各実施形態に示す複数の機能部の機能を実現する。
また、本開示の各実施形態は、プログラムPが電子的な伝送によって具現化されたデータ信号の形態でも実現され得る。
サーバ10および/または端末20における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。
端末20における処理の少なくとも一部、または全部を、サーバ10により行う構成としてもよいし、そうでなくてもよい。この場合、端末20の制御部21の各機能部の処理のうち少なくとも一部の処理、または全部の処理を、サーバ10で行う構成としてもよいし、そうでなくてもよい。
サーバ10における処理の少なくとも一部、または全部を、端末20により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ10の制御部11の各機能部の処理のうち少なくとも一部の処理、または全部の処理を、端末20で行う構成としてもよいし、そうでなくてもよい。
明示的な言及のない限り、本開示の実施形態における判定の構成は必須でなく、判定条件を満たした場合に所定の処理が動作されたり、判定条件を満たさない場合に所定の処理がされたりしてもよいし、そうでなくてもよい。
なお、本開示のプログラムは、限定ではなく例として、ActionScript、JavaScript(登録商標)などのスクリプト言語、Objective-C、Java(登録商標)などのコンパイラ言語、HTML Living Standardなどのマークアップ言語などを用いて実装される。
<機能構成>
(1)サーバの機能構成
図1-2は、本実施例においてサーバ10の制御部11によって実現される機能の一例を示す図である。
制御部11は、限定ではなく例として、記憶部15に記憶されたアプリケーション管理処理プログラム151に従ってアプリケーション管理処理を実行するためのアプリケーション管理処理部111を機能部として含む。
図1-3は、本実施例においてサーバ10の記憶部15に記憶される情報の一例を示す図である。
記憶部15には、限定ではなく例として、制御部11によってアプリケーション管理処理として実行されるアプリケーション管理処理プログラム151と、アカウント登録データ153と、店舗登録データ154と、商品価格管理データベース155と、レシート情報管理データベース157とが記憶される。
アカウント登録データ153は、アプリケーション(本実施例では、買い物補助アプリケーション)のアカウントに関する登録データであり、そのデータ構成の一例を図1-4に示す。
アカウント登録データ153には、限定ではなく例として、ユーザ名と、アプリケーションIDと、その他登録情報とが関連付けて記憶される。
ユーザ名は、このアプリケーションを利用する端末20のアカウントの名称であり、限定ではなく例として、端末20のユーザがアプリケーションを利用する際に登録する名称が記憶される。
アプリケーションIDは、アプリケーションのアカウントを識別するために用いられる情報、またはアカウントそのものである。
このアプリケーションIDは、好ましくはアカウントごとに一意な値であり、限定ではなく例として、サーバ10によってアカウントごとに一意な値(固有の値)が設定されて記憶される。
アプリケーションIDは、端末20、またはその端末20のユーザに関連付けられた情報であり、端末に関する情報、または端末のユーザに関する情報の一例である。
その他登録情報には、限定ではなく例として、端末20を識別するための識別情報、端末20の電話番号(端末電話番号)、メールアドレス(端末メールアドレス)、アプリケーションにおける各種の認証に利用されるパスワード(ログインパスワード、認証パスワード等)等の認証情報といった各種の情報を含めるようにすることができる。
端末20を識別するための識別情報は、限定ではなく例として、端末ID(限定ではなく例として、IMEI(International Mobile Equipment Identity))とすることができる。
また、端末20のユーザを識別するための識別情報は、限定ではなく例として、一般ユーザ用のアプリケーションIDや公式ユーザ用のアプリケーションIDとすることができる。
なお、アプリケーションIDに代えて「ユーザID」としてもよいし、しなくてもよい。
また、1つの端末20につき1つのアカウントしか登録することのできないアプリケーションであれば、限定ではなく例として、「端末20を識別するための識別情報=端末20のユーザを識別するための識別情報=アプリケーションID」とすることができる。
また、限定ではなく例として、1つのアプリケーションIDに、複数の端末IDを割り当てることを可能としてもよいし、そのようにしなくてもよい。この場合、1つのアプリケーションIDを識別(ログイン)対象として、複数の端末20においてアプリケーションを並行して(並列に)起動できるようにしてもよいし、そのようにしなくてもよい。
また、アプリケーションID等の各種のIDに代えて、端末電話番号等の情報によってアカウントを管理する手法を適用することも可能である。
この場合、アプリケーションID等のIDの情報をアカウント登録データ153に記憶させるのに代えて、端末電話番号等の情報をアカウント登録データ153に記憶させるようにすることができる。なお、アプリケーションID等のIDの情報を端末電話番号等の情報に代えず、アプリケーションID等のIDの情報を端末電話番号等の情報と一対一に対応させるようにしてもよいし、そのようにしなくてもよい。
なお、以下の各種の実施例では、説明の簡明化のため、1つの端末20につき1つのアカウントが登録されていることとして説明する。
また、この場合、上記のように「端末20を識別するための識別情報=端末20のユーザを識別するための識別情報=アプリケーションID」であるため、以下の説明で用いる「アカウントのユーザ」の用語は、「アカウントの端末」と実質的に同義としてよいものとする。
店舗登録データ154は、端末20のユーザが商品を購入可能な店舗に関する登録データであり、そのデータ構成の一例を図1-5に示す。
店舗登録データ154には、限定ではなく例として、店舗IDと、店舗名と、店舗位置情報と、その他登録情報とが関連付けて記憶される。
店舗IDは、この店舗をユニークに識別するための識別情報であり、限定ではなく例として、サーバ10によって店舗ごとに一意な値(固有の値)が設定されて記憶される。
店舗名には、この店舗IDによって識別される店舗の名称が記憶される。
店舗位置情報には、この店舗IDによって識別される店舗の位置情報が記憶される。店舗位置情報は、緯度・経度や二次元の座標値で表される二次元の位置情報としてもよいし、緯度・経度・高度や三次元の座標値で表される三次元の位置情報としてもよい。
その他登録情報には、限定ではなく例として、この店舗IDによって識別される店舗に関する他の情報が記憶される。限定ではなく例として、この店舗の連絡先情報等の情報をこれに含めることができる。
商品価格管理データベース155は、店舗登録データ154に登録された店舗で購入可能な商品の価格(以下、適宜「商品価格」と称する。)を管理するためのデータベースであり、その一例である商品価格管理データベース155Aのデータ構成例を図1-6に示す。
商品価格管理データベース155Aには、複数の商品の各々について、商品価格管理データが記憶される。
各々の商品価格管理データには、限定ではなく例として、商品IDと、商品名と、最安値と、最安店舗IDと、店舗別商品価格データとが記憶される。
商品IDは、この商品をユニークに識別するための識別情報であり、限定ではなく例として、サーバ10によって、その商品名の商品ごとに一意な値(固有の値)が設定されて記憶される。
商品名には、この商品IDによって識別される商品の名称が記憶される。
最安値には、この商品IDによって識別される商品の最安値が記憶される。具体的には、この商品の商品価格管理データに含まれる店舗別商品価格データに記憶されているこの商品の店舗別の商品価格のうち、最も値が小さいものが特定されて、最安値に記憶される。
最安店舗IDには、最安値で商品を販売する店舗のIDが記憶される。具体的には、この商品の商品価格管理データに含まれる店舗別商品価格データに記憶されているこの商品の店舗別の商品価格のうち、最安値として特定された商品価格に対応する店舗IDが、最安店舗IDに記憶される。
店舗別商品価格データには、限定ではなく例として、店舗IDと、その店舗IDによって識別される店舗での、その商品IDによって識別される商品の商品価格とが関連付けて記憶される。
なお、商品には、どの事業者のどの商品であるかを表すGTIN(Global Trade Item Number)コード(限定ではなく例として、日本ではJAN(Japanese Article Number)コード)が付されているものがある。店舗によっては、発行される紙のレシートに、商品名や商品価格と関連付けて商品識別コードが印字されている場合がある。日本を例に挙げると、商品識別コードとして数字の「4」から始まる所定の桁数のコードが、レシートに印字されている場合がある。
そこで、後述するように、サーバ10が複数の端末20から取得したレシート情報に商品識別コードが含まれる場合、その商品識別コードに基づいて商品IDを設定するようにしてもよい。図中では、商品識別コードに基づいてサーバ10が設定した商品IDを「AN~」で示し、商品識別コードに基づかずにサーバ10が設定した商品IDを「AR~」で示す場合がある。
限定ではなく例として、図1-6の最も手前側に示される商品価格管理データは、商品名「〇×ヨーグルト」のデータであり、商品IDとして「AN0002」が設定されている。つまり、これは商品識別コードによって商品IDが設定されたデータである。
商品識別コードが付されていない商品(限定ではなく例として、肉や野菜等)については、限定ではなく例として、サーバ10が、複数の端末20から取得したレシート情報に含まれる商品名に基づいて商品をクラスタリングし、そのクラスタリングの結果に基づいて、商品ごとに商品IDを設定するようにすることができる。
なお、生鮮業界の商品について、生鮮標準商品コード(限定ではなく例として、生鮮JANコード)を用いるようにしてもよい。
また、肉の商品について食肉標準物流コード(食肉標準物流バーコード等)を用いるようにしてもよい。
また、サーバ10が商品識別コードそのものを商品IDとして設定するようにしてもよい。
また、商品識別コードが付されている商品であるか否かに関わらず、サーバ10が全ての商品について独自に商品IDを設定するようにしてもよい。
また、上記の商品価格管理データに、過去設定期間(限定ではなく例として、過去一ヶ月の期間)における全店舗のその商品の平均価格を記憶させるようにしてもよい。
また、店舗別商品価格データに、その店舗のその商品の商品価格の履歴を記憶させるようにしてもよい。同様に、過去設定期間(限定ではなく例として、過去一ヶ月の期間)におけるその店舗のその商品の平均価格を記憶させるようにしてもよい。
また、店舗別商品価格データに、その店舗の特売情報を商品IDと関連付けて記憶させるようにしてもよい。
レシート情報管理データベース157は、レシート情報を管理するためのデータベースであり、そのデータ構成の一例を図1-7に示す。
レシート情報管理データベース157には、レシートごとのレシート情報の管理データとして、レシート情報管理データが記憶される。
ここで、レシート情報には、限定ではなく例として、以下の少なくともいずれかを含めることができる。
(A1)レシートを参照して端末20のユーザが手入力する場合:店舗名、レシート発行日時、商品名、商品単価、商品個数、商品重量(グラム数等)、商品識別コード、合計金額など
(A2)レシートを端末20で撮影する場合:レシート画像そのもの、レシート画像を端末20でOCR(Optical Character Recognition/Reader)等することによって得られるデジタル化された情報・データ(テキスト情報・テキストデータ等)、これらの情報から特定される(A1)の各種の情報など
各々のレシート情報管理データには、限定ではなく例として、登録者アプリケーションIDと、レシートIDと、レシート発行日時と、レシート発行店舗IDと、レシート細目データとが記憶される。
登録者アプリケーションIDには、このレシートのレシート情報を登録した端末20、または端末20のユーザのアプリケーションIDが記憶される。
レシートIDは、このレシートをユニークに識別するための識別情報である。レシート情報を端末20から受信するごとに、サーバ10は、そのレシート情報を解析する。そして、新規のレシートであると判定した場合は、そのレシートについて一意な値(固有の値)を設定してレシートIDに記憶させる。
レシート発行日時には、このレシートの発行日時が記憶される。レシート情報が端末20から送信されるごとに、サーバ10は、そのレシート情報を解析してレシート発行日時を取得し、レシート発行日時を記憶させる。
レシート発行店舗IDには、このレシートが発行された店舗の店舗IDが記憶される。レシート情報が端末20から送信されるごとに、サーバ10は、そのレシート情報を解析して店舗(店舗ID)を特定し、対応する店舗IDをレシート発行店舗IDに記憶させる。
レシート細目データは、このレシートIDによって識別されるレシートの細目に関するデータであり、限定ではなく例として、商品IDと、商品単価と、商品個数とが関連付けて記憶される。これらの情報は、サーバ10が、上記と同様に、端末20から送信されたレシート情報を解析することによって取得されて記憶される。
なお、商品単価は、商品識別コードによって識別可能な商品の単価としてもよい。
また、商品単価は、商品識別コードが付されていない、量り売り等の商品について、規定グラム単価(限定ではなく例として「100グラム」あたりの価格)としてもよい。
(2)端末の機能構成
図1-8は、本実施例において端末20の制御部21によって実現される機能の一例を示す図である。
制御部21は、限定ではなく例として、記憶部28に記憶されたアプリケーション処理プログラム281に従ってアプリケーション処理を実行するためのアプリケーション処理部211を機能部として含む。
図1-9は、本実施例において端末20の記憶部28に記憶されるデータ等の一例を示す図である。
記憶部28には、限定ではなく例として、制御部21によってアプリケーション処理として実行されるアプリケーション処理プログラム281と、この端末20、または端末20のユーザのアカウントに対応するアプリケーションID283とが記憶される。
<表示画面>
以下では、限定ではなく例として、端末20が、縦長のディスプレイの表示部24を備えるスマートフォンである場合を例示する。
スマートフォンには、限定ではなく例として、入力部として機能するタッチパネルが、そのディスプレイと対向して配置され、これによってタッチスクリーンが構成される。アイコン、ボタン、アイテムまたは入力領域などの要素がディスプレイに表示された場合において、タッチパネルの一部の領域であって、その要素が表示された領域と対向する領域がユーザによって操作された場合、その要素と関連付けられたプログラムまたはそのプログラムのサブルーチンが実行される。
なお、以下説明する表示画面の遷移は、本開示の手法を実現するための表示画面の遷移の一例に過ぎない。以下に例示する表示画面の遷移について、一部の表示画面の表示を省略してもよいし、別の表示画面を追加してもよい。
本実施例では、ユーザが店舗で買い物を行った際に店舗で取得した紙のレシートに基づくレシート情報を、端末20からサーバ10に送信する。レシート情報を端末20で取得する手法としては種々の手法を適用可能であるが、この表示画面例では、端末20がレシートを読み取ってレシート情報を取得する場合を例示する。
図1-10は、本実施例において端末20の表示部24に表示される画面の遷移の一例を示す図である。
図1-10左側は、買い物補助アプリケーションにおけるレシート画面の一例を示しており、画面最上部中央には、買い物補助アプリケーションの名称として「Shopping Assistant App」の文字が表示されている。また、画面最上部右方には、この端末20Aのユーザの買い物補助アプリケーションにおけるアイコン画像およびユーザ名(この例ではユーザA.A)が表示されている。
また、その下には、買い物補助アプリケーション内での現在の位置やページ等を示す領域(以下、包括的に「アプリ内位置表示領域」と称する。)が構成されており、この例では、レシート画面であることに基づいて、「レシート」の文字と、前の画面に戻るための「<」のボタンとが表示されている。
その下の領域には、限定ではなく例として、レシートを撮影するための「レシートを撮影する」ボタンBT11と、レシート情報をユーザが自身で入力するための「レシートを入力する」ボタンBT12と、単品の商品価格をユーザが自身で入力するための「商品価格を入力する」ボタンBT13と、過去の利用レポートを確認するための「利用レポートをみる」ボタンBT14とが設けられている。
また、画面下部には、買い物補助アプリケーションの各種の機能をアイコンによって表示する機能表示領域が構成されている。この例では、レシートに関連する機能に対応するレシートアイコンと、商品価格の比較に関連する機能に対応する価格比較アイコンと、買い物リストに関連する機能に対応する買い物リストアイコンと、買い物を行い際にユーザが利用可能なクーポンに関連する機能に対応するクーポンアイコンとが表示されている。図1-10では、レシートアイコンが選択されたことでレシート画面が表示され、レシートアイコンが強調表示されている。
限定ではなく例として、「レシートを撮影する」ボタンBT11がタップされると、図1-10中央のようなレシート撮影画面に遷移する。レシート撮影画面では、端末20Aの撮像部27が起動され、アプリ内位置表示領域の下に、レシートを撮像(撮影)するための撮像枠が表示され、その下には、「枠内にレシートを入れて撮影してください」の説明文が表示されている。ユーザは、限定ではなく例として、レシートをテーブル等に置いたり、手に持つなどして、撮像枠にレシートが収まるように端末20の位置や向きを調整する。そして、限定ではなく例として、「枠内にレシートを入れて撮影してください」の説明文の下に設けられている撮像ボタンBT15をタップすることで、撮像部27にレシートを撮像させる。
その結果、限定ではなく例として、図1-10右側のような表示がなされる。
この例では、チェックマークのアイコン画像と、「レシートの読み取りに成功しました」の文字と、レシートの読み取り結果を表示するための「読み取り結果表示」ボタンBT17と、次のレシートを撮影するための「次のレシートを撮影」ボタンBT18とを含むレシート読取情報RR11が、図1-10右側の画面の中央部に、ポップアップ形式で表示されている。
なお、「レシートを入力する」ボタンBT12がタップされた場合は、限定ではなく例として、不図示のレシート情報入力画面が表示部24に表示されるようにすることができる。そして、このレシート情報入力画面において、ユーザがレシートを参照しながら、レシート情報を入力するようにすることができる。
また、「商品価格を入力する」ボタンBT13がタップされた場合は、限定ではなく例として、不図示の商品価格入力画面が表示部24に表示されるようにすることができる。そして、この商品価格入力画面において、ユーザが単品の商品価格を入力するようにすることができる。この商品価格の入力は、限定ではなく例として、ユーザが店舗に行って店頭で見つけた商品の価格を入力するなどの用途で適用することができる。
なお、ユーザが、レシートを紛失したり、捨ててしまうような場合もあり得る。このため、限定ではなく例として、ユーザが実際に購入した商品に値札が付いている場合、その値札を参照して、ユーザが商品価格を入力するようにしてもよい。
<処理>
以下、本実施例における処理として、限定ではなく例として、2つの処理を例示する。
(1)第1の処理
第1の処理は、端末20のユーザが、商品(またはサービス)の金額に関する情報を端末20に手入力する場合の処理である。
図1-11は、この場合に各装置が実行する処理の流れの一例を示すフローチャートである。
この図では、左側に端末20Aの制御部21が実行する処理を、右側にサーバ10の制御部11が実行する処理をそれぞれ示している。
なお、以下説明する処理は、本開示の手法を実現するための処理の一例に過ぎず、これらに限定されるものではない。
以下説明する処理に別のステップを追加してもよいし、以下説明する処理から一部のステップを省略(削除)してもよい。
また、ここでは、便宜的に端末20Aのみを図示しているが、他の端末20についても同様の処理が行われるようにすることができる。つまり、サーバ10は、様々なユーザの端末20(複数の端末20)からレシート情報を受信した上で、レシート情報解析処理(S110)やレシート情報集計処理(S120)を行うようにすることができる。
具体的には、限定ではなく例として、図1-12に示すように、サーバ10は、第1ユーザの第1端末20、第2ユーザの第2端末20、第3ユーザの第3端末20、・・・、といった複数の端末20からレシート情報を受信した上で、レシート情報解析処理(S110)やレシート情報集計処理(S120)を行うようにすることができる。
なお、これらの端末20の中に必ずしも端末20Aが含まれる必要はない。つまり、端末20AのユーザA.Aがレシート情報の集計に参加することは必須ではない。
まず、端末20Aの制御部21は、限定ではなく例として、入出力部23を介したユーザによるレシート情報の入力を受け付ける(A105)。具体的には、限定ではなく例として、前述した(A1)に示した各種の情報を、レシート情報としてユーザに入力させるようにすることができる。
その後、端末20Aの制御部21は、入出力部23を介してユーザによって入力されたレシート情報を、通信I/F22によってサーバ10に送信する(A120)。
通信I/F14によって端末20Aからレシート情報を受信すると、サーバ10の制御部11は、レシート情報解析処理を行う(S110)。具体的には、レシート情報を受信した端末20、またはそのユーザのアプリケーションIDを登録者アプリケーションIDとし、受信したレシート情報に基づいて、レシートID、レシート発行日時、レシート発行店舗ID、レシート細目データを含むレシート情報管理データを生成して、レシート情報管理データベース157に追加する。
この場合、サーバ10の制御部11は、限定ではなく例として、レシート情報に含まれる商品名に基づき、既に同じ商品名の商品価格管理データが商品価格管理データベース155Aに登録されている場合は、その登録済みの商品IDと同じ商品IDと推定して、レシート細目データに商品IDを記憶させるようにすることができる。
なお、サーバ10の制御部11は、S110のステップにおいて、受信したレシート情報に含まれる商品重量(グラム数)とその価格の情報に基づいて、量り売りの商品について、規定グラム単価(限定ではなく例として、「100グラム」あたりの価格)を推定して、レシート細目データの商品単価に記憶させるようにしてもよい。
次いで、サーバ10の制御部11は、レシート情報集計処理を行う(S120)。具体的には、制御部11は、限定ではなく例として、レシート情報管理データベース157に追加されたデータを反映させて、商品価格管理データベース155Aに含まれる各々の商品IDに対応する商品価格管理データを更新する。
A120の後、端末20Aの制御部21は、別のレシートに基づくレシート情報の入力をせず終了するか否かを判定し(A125)、まだ終了しないと判定したならば(A125:NO)、A105に処理を戻す。
一方、終了すると判定したならば(A125:YES)、端末20Aの制御部21は、その旨を示す入力終了情報を、通信I/F22によってサーバ10に送信する(A135)。そして、端末20Aの制御部21は、処理を終了する。
S120の後、サーバ10の制御部11は、通信I/F14によって端末20Aから入力終了情報を受信したか否かを判定し(S125)、受信しなかったと判定したならば(S125:NO)、S110に処理を戻す。
一方、入力終了情報を受信したと判定したならば(S125:YES)、サーバ10の制御部11は、処理を終了する。
なお、前述したように、ユーザが単品の商品価格を入力するようにすることも可能である。単品の商品価格を受け付ける場合、限定ではなく例として、端末20の制御部21は、A105のステップにおいて、前述した(A1)に示した各種の情報のうち、限定ではなく例として、店舗名と、商品名と、商品単価とを受け付けるようにしてもよい。
なお、店舗名の入力に代えて、端末20Aの制御部21において位置情報を取得し、サーバ10に送信するようにしてもよい。また、商品名の入力に代えて、撮像部27によって取得された商品のバーコード情報を端末20Aの制御部21において取得するようにしてもよい。
この場合、サーバ10の制御部11は、レシート情報解析処理において、レシート情報に含まれる店舗名と商品名とに基づき、店舗IDと商品IDとを推定する。そして、サーバ10の制御部11は、商品価格管理データベース155Aに含まれる各々の商品IDに対応する商品価格管理データを更新する。これにより、限定ではなく例として、端末20Aのユーザが店頭で見つけた商品の価格を1つ1つ集計するといったことも可能である。
(2)第2の処理
第2の処理は、端末20がレシートを読み取ることによってレシート情報を取得する処理である。この処理は、前述した図1-10に示した表示画面の流れに対応する処理である。
図1-13は、この場合に各装置が実行する処理の流れの一例を示すフローチャートである。図の見方は図1-11と同様である。
最初に、端末20Aの制御部21は、レシート読み取り処理を行う(A110)。具体的には、限定ではなく例として、入出力部23を介したユーザ入力に基づいて、撮像部27を制御してレシートを撮像する処理を行う。
その後、端末20Aの制御部21は、レシート情報を通信I/F22によってサーバ10に送信する(A120)。この場合、制御部21は、限定ではなく例として、以下のいずれかの情報をサーバ10に送信するようにすることができる。
・撮像部27によって撮像されたレシートの撮像画像(以下、「レシート画像」と称する。)
・OCR等によって取得したレシートのテキスト情報(以下、「レシートテキスト情報」と称する。)
通信I/F14によって端末20Aからレシート情報を受信すると、サーバ10の制御部11は、レシート情報解析処理として、以下の処理を行う(S110)。
端末20Aから受信したレシート情報がレシート画像である場合、制御部11は、OCR等を行ってレシートをテキストデータ化する。そして、その結果として得られるレシートテキスト情報に基づいて、登録者アプリケーションIDと関連付けて、レシートID、レシート発行日時、レシート発行店舗ID、レシート細目データを含むレシート情報管理データを生成して、レシート情報管理データベース157に追加する。
端末20Aから送信されたレシート情報がレシートテキスト情報である場合、制御部11は、受信したレシートテキスト情報に基づいて、登録者アプリケーションIDと関連付けて、レシートID、レシート発行日時、レシート発行店舗ID、レシート細目データを含むレシート情報管理データを生成して、レシート情報管理データベース157に追加する。
なお、前述したように、レシート情報に商品識別コードが含まれる場合は、その商品識別コードを商品IDとしてもよい。
S110の後、サーバ10の制御部11は、S120に処理を進める。
A120の後、端末20Aの制御部21は、レシートの読み取りを終了するか否かを判定し(A130)、レシートの読み取りを続けると判定したならば(A130:NO)、A110に処理を戻す。
一方、レシートの読み取りを終了すると判定したならば(A130:YES)、端末20Aの制御部21は、読取終了情報を、通信I/F22によってサーバ10に送信する(A140)。そして、端末20Aの制御部21は、処理を終了する。
S120の後、サーバ10の制御部11は、通信I/F14によって端末20Aから読取終了情報を受信したか否かを判定し(S130)、受信しなかったと判定したならば(S130:NO)、S110に処理を戻す。
一方、読取終了情報を受信したと判定したならば(S130:YES)、サーバ10の制御部11は、処理を終了する。
<第1実施例の効果>
本実施例は、対象の端末20(以下、「対象端末」と称する。)が、少なくとも価格の情報(限定ではなく、店舗で購入された商品、またはサービスの金額に関する情報の一例)を含むレシート情報を通信I/F22によってサーバ10に送信する。
そして、複数の端末20から送信されたレシート情報に基づいて、サーバ10によってレシート情報が解析されて集計される構成を示している。
このような構成により得られる実施例の効果の一例として、端末で金額情報を取得した上でサーバに送信することで、店舗で購入された商品、またはサービスの金額に関する情報に基づく、第1店舗の商品の金額情報、または第1店舗のサービスの金額情報を含む第1金額情報や、第2店舗の商品の金額情報、または第2店舗のサービスの金額情報を含む第2金額情報が、サーバで集計されて管理されるようにすることができる。
<第2実施例>
第2実施例は、前述したレシート情報集計処理で集計された商品価格の情報を、端末20が取得して表示部24に表示する実施例である。
第2実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
<表示画面>
図2-1は、本実施例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図2-1左側には、買い物補助アプリケーションにおける画面の一例である価格比較画面が表示されている。
この価格比較画面では、アプリ内位置表示領域に「価格比較」の文字と、前の画面に戻るための「<」のボタンとが表示されている。また、その下には、商品価格情報を表示するための商品価格情報表示領域が構成されている。また、画面下部の機能表示領域では、価格比較アイコンがタップされて選択されたことで、他の機能アイコンとは異なる態様で表示されている。
商品価格情報表示領域の最上部には、検索する商品名や品目をユーザが入力するための商品入力領域CI21が構成され、その横には、入力された内容で検索を実行するための検索ボタンBT21が設けられている。
また、その下には、「よく買う商品」として、ユーザA.Aが頻繁に購入する商品が、商品の画像、商品名および平均価格を囲う枠で構成される表示領域に別個に表示され、この例ではカルーセル形式で一覧表示されている。この情報は、限定ではなく例として、ユーザA.Aの過去の商品の購入履歴に基づいて表示されるようにすることができる。
ユーザの購入履歴は、限定ではなく例として、レシート情報管理データベース157における、そのユーザのレシート情報管理データから特定することができる。
なお、これに限定されず、購入した商品に関する情報をユーザが端末20で入力してサーバ10に送信することで、ユーザの購入履歴が記憶されるようにしてもよい。
また、買い物補助サービス事業者が提携している店舗であれば、サーバ10が、ユーザの購入履歴に関する情報をその店舗のサーバ等から取得して、ユーザの購入履歴が記憶されるようにしてもよい。
また、「よく買う商品」のうちの一の商品の表示領域がタップされたことに基づいて、限定ではなく例として、端末20Aの最新の算出端末位置から半径1km以内といった比較的近傍の範囲に含まれる各々の店舗について、その店舗におけるその商品の商品価格を表示させるなどしてもよい。
また、ユーザの過去の購入履歴を端末20とサーバ10との少なくとも一方に記憶させるようにし、端末20に記憶された購入履歴に基づいて上記のよく買う商品を表示させるようにしてもよいし、サーバ10に記憶された購入履歴に基づいて上記のよく買う商品を表示させるようにしてもよい。
また、上記を含め、以下例示するカルーセル形式で表示される情報については、ユーザが左右方向のスライド操作を行うことで、表示される情報や表示される情報の位置を変化させることを可能とすることができる。
その下には、ユーザA.Aが買い物を行う際に利用可能なクーポンが、そのクーポンを使用可能な店舗と関連付けて、商品の画像、商品名およびクーポンによる特典の内容を含む枠によって、この例ではカルーセル形式で一覧表示されている。
なお、クーポンの具体的な使用例等については、第3実施例で後述する。
限定ではなく例として、商品入力領域CI21がタップされ、不図示のキーボード等によってユーザA.Aによって品目として「ヨーグルト」が入力された後、検索ボタンBT21がタップされることで、限定ではなく例として、図2-1中央の画面が表示される。
この画面では、商品入力領域CI21および検索ボタンBT21の下に、品目「ヨーグルト」に関する商品価格情報の一例として、品目「ヨーグルト」の平均価格(この例では「166円」)の情報が表示されている。この平均価格は、前述したレシート情報解析処理およびレシート情報集計処理に基づいて算出されるようにすることができる。
また、その下には、商品価格情報の一例として、「ヨーグルト」の店舗別の最安値の情報が表示されている。具体的には、各々の店舗名と関連付けて、その店舗における最安値のヨーグルトの商品の画像、その商品名およびその価格(=最安値)を含む枠が、この例ではカルーセル形式で表示されている。
また、その下には、ユーザA.Aが過去に購入した「ヨーグルト」に関する情報が表示されている。具体的には、限定ではなく例として、各々の店舗名と関連付けて、ユーザA.Aがその店舗で購入したヨーグルトの商品の画像、その商品名およびその購入価格を含む枠が、この例ではカルーセル形式で表示されている。
限定ではなく例として、「ヨーグルト」の最安値に関する情報のうち、店舗名「XXマート JJ店」の商品(商品名)「〇×ヨーグルト」の情報がタップされて選択されると、限定ではなく例として、図2-1右側のような表示がなされる。具体的には、店舗名「XXマート JJ店」の文字とともに、選択された商品「〇×ヨーグルト」の画像、商品名および商品価格(この例では「198円」)が拡大されて表示されている。商品価格の右側には、最安値であることを示すアイコンが配置されている。
また、その下には、図2-1中央の画面においてユーザによって選択された商品「〇×ヨーグルト」について、最安値である店舗名「XXマート JJ店」の情報を含む、複数の店舗での商品「〇×ヨーグルト」の価格の情報が、各々の店舗名と関連付けて、この例ではカルーセル形式で表示されている。つまり、同じ商品名の商品の、他の店舗での価格情報が、価格一覧として表示されている。この例では、最安値の店舗(この例では「XXマート JJ店」)の情報が、ユーザにとって分かり易いように、最も左に表示されている。
<処理>
図2-2は、本実施例において各装置が実行する処理の流れの一例を示すフローチャートであり、図1-13の処理を適用する場合の処理例である。
なお、図1-11の処理を適用する場合も同様であるため、ここでは図示・説明を省略する。
限定ではなく例として、A140の後、端末20Aの制御部21は、入出力部23を介したユーザによる商品を検索するための入力に基づいて、入力された商品名または品目等を含む商品検索情報を、通信I/F22によってサーバ10に送信する(A210)。
なお、前述したように、端末20Aのユーザがレシート情報の集計に参加することは必須ではない。そのため、端末20AにおけるA110~A140のステップと、サーバ10におけるS110~S130のステップとを省略し、A210のステップ以降を実行するようにしてもよい。つまり、端末20Aがレシート情報をサーバ10に送信せず、他の端末20からサーバ10に送信されてサーバ10で解析・集計されたレシート情報に基づいて、端末20AがA210のステップ以降を実行するようにしてもよい。つまり、自分はレシート情報をサーバ10に提供しないが、他人がサーバ10に提供したレシート情報に基づいて、商品の検索や商品の価格比較等のサービスを受けることも可能である。
これは、他の実施例についても同様である。
通信I/F14によって端末20Aから商品検索情報を受信すると、サーバ10の制御部11は、商品検索処理を行う(S210)。具体的には、受信した商品検索情報に商品名が含まれる場合は、商品価格管理データベース155Aのうち、その商品名の商品価格管理データを検索する。また、品目が含まれる場合は、商品価格管理データベース155Aのうち、その品目に含まれる商品名の商品価格管理データを検索する。
次いで、サーバ10の制御部11は、S210の検索結果に基づく商品価格情報を、通信I/F14によって端末20Aに送信する(S220)。具体的には、S210で検索結果として得られた商品価格管理データに含まれる情報(商品価格や店舗情報を含む。)を、通信I/F14によって端末20Aに送信する。そして、サーバ10の制御部11は、処理を終了する。
A210の後、通信I/F22によってサーバ10から商品価格情報を受信すると、端末20Aの制御部21は、受信した商品価格情報を表示部24に表示させる(A220)。なお、商品価格情報は、前述した価格比較画面等に表示してもよいし、地図画像上に表示してもよい。
そして、端末20Aの制御部21は、処理を終了する。
なお、A210において、端末20Aの制御部21が、商品識別コードを商品検索情報に含めてサーバ10に送信するようにしてもよい。この場合、サーバ10の制御部11は、S210において、受信した商品検索情報に含まれる商品識別コードに対応する商品IDの商品価格管理データを検索するようにすることができる。
また、A210において、端末20Aの制御部21が、撮像部27によって撮像された商品の撮像画像を商品検索情報に含めてサーバ10に送信するようにしてもよい。この場合、サーバ10の制御部11は、限定ではなく例として、受信した商品の撮像画像に対して画像解析を行って商品名や品目を特定するようにすることができる。
なお、これとは異なり、端末20Aの制御部21が商品の撮像画像に対する画像解析を行って商品名や品目を特定し、特定した商品名や品目を商品検索情報に含めて、サーバ10に送信するようにしてもよい。
<第2実施例の効果>
本実施例は、対象端末20が、サーバ10によって複数の端末20から受信された、少なくとも価格の情報を含むレシート情報(限定ではなく、店舗で購入された商品、またはサービスの金額に関する情報の一例)に基づく商品価格情報(限定ではなく、第1金額情報の一例、第2金額情報の一例)を、通信I/F22によってサーバ10から受信する。そして、対象端末20は、一の店舗(限定ではなく、第1店舗の一例)の商品またはサービスの商品価格情報(限定ではなく、第1金額情報の一例)を一の店舗に関連付けて表示部24に表示し、他の店舗(限定ではなく、第2店舗の一例)の商品またはサービスの商品価格情報(限定ではなく、第2金額情報の一例)を他の店舗に関連付けて表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、サーバによって複数端末から受信された、店舗で購入された商品、またはサービスの金額に関する情報に基づく、第1店舗の商品の金額情報、または第1店舗のサービスの金額情報を含む第1金額情報と、第2店舗の商品の金額情報、または第2店舗のサービスの金額情報を含む第2金額情報とを取得した上で、各々の店舗に関連付けて表示することで、金額情報を店舗ごとに端末のユーザに知らせることができる。
また、この場合、レシート情報に含まれる価格の情報(限定ではなく、店舗で購入された商品、またはサービスの金額に関する情報の一例)は、複数の端末20に含まれる一の端末20(限定ではなく、第1端末の一例)から送信された一の店舗(限定ではなく、第1店舗の一例)での商品またはサービスの価格の情報(限定ではなく、第1金額情報の一例)と、複数の端末20に含まれる他の端末20(限定ではなく、第2端末の一例)から送信された他の店舗(限定ではなく、第2店舗の一例)での商品またはサービスの価格の情報(限定ではなく、第2金額情報の一例)とを含むようにすることができる。
このような構成により得られる実施例の効果の一例として、複数端末に含まれる第1端末から送信された第1店舗の第1金額情報と、複数端末に含まれる第2端末から送信された第2店舗の第2金額情報とを、各々の店舗に関連付けて表示して、端末のユーザに知らせることができる。その結果、ユーザの利便性が向上する。
また、この場合、一の商品またはサービスの商品価格情報は、一の端末20によって一の店舗で発行されたレシートが読み取られることによってサーバ10に送信され、一の商品またはサービスの商品価格情報は、他の端末20によって他の店舗で発行されたレシートが読み取られることによってサーバ10に送信されるようにすることができる。
このような構成により得られる実施例の効果の一例として、第1端末によって第1店舗で発行されたレシートが読み取られることで、第1金額情報がサーバに簡単に送信されるようにすることができる。同様に、第2端末によって第2店舗で発行されたレシートが読み取られることで、第2金額情報がサーバに簡単に送信されるようにすることができる。
また、この場合、レシート情報に含まれる価格の情報(限定ではなく、店舗で購入された商品、またはサービスの金額に関する情報の一例)は、複数の端末20に含まれる対象端末20から送信された一の店舗(限定ではなく、第1店舗の一例)での商品またはサービスの価格の情報(限定ではなく、第1金額情報の一例)を含む。この場合、対象端末20は、一の店舗で発行されたレシートを読み取るレシート読み取り処理を制御部21によって行い、レシート読み取り処理に基づき、読み取ったレシート情報に含まれる価格の情報(第1金額情報)を通信I/F22によってサーバ10に送信する制御を制御部21によって行うようにすることができる。
このような構成により得られる実施例の効果の一例として、端末によって第1店舗で発行されたレシートを読み取る処理を行うことで、第1金額情報がサーバに簡単に送信されるようにすることができる。
また、本実施例は、対象端末20が、自己の端末20のユーザによって入力された一の商品(限定ではなく、第1商品の一例)の情報、または一のサービス(限定ではなく、第1サービスの一例)の情報を含む商品検索情報を通信I/F22によってサーバ10に送信する。そして、対象端末20は、その一の商品の情報、または一のサービスの情報に基づき、それらの商品、またはサービスの一の店舗における価格情報(限定ではなく、第1金額情報の一例)と、同じ商品、または同じサービスの他の店舗における価格情報(限定ではなく、第2金額情報の一例)とを含む商品価格情報を通信I/F22によって受信する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザによって入力された第1商品の情報、または第1サービスの情報をサーバに送信することによって、第1商品、または第1サービスを第1店舗で購入する場合の第1金額情報と、第1商品、または第1サービスを第2店舗で購入する場合の第2金額情報とを簡単に取得することができる。
また、本実施例は、対象端末20が、自己の端末20のユーザの購入履歴に基づき、1以上の店舗(限定ではなく、第3店舗の一例)の価格情報(限定ではなく、第3店舗の商品の金額情報の一例)、または第3店舗のサービスの金額情報の一例)を含む金額情報を通信I/F22によって受信する。そして、対象端末20は、その金額情報を、対応する店舗に関連付けて表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザの購入履歴に基づいて、第3店舗の商品の金額情報、または第3店舗のサービスの金額情報を含む第3金額情報を、第3店舗に関連付けてユーザに知らせることができる。限定ではなく例として、ユーザが頻繁に購入する商品の金額情報、またはユーザが頻繁に購入するサービスの金額情報を、複数の店舗に関連付けて表示するなどすることができる。
また、本実施例は、複数の端末20と通信するサーバ10は、価格の情報を含むレシート情報(限定ではなく、店舗で購入された商品、またはサービスの金額に関する情報の一例)を、複数の端末20から通信I/F14によって受信する。また、サーバ10は、複数の端末20から送信された、レシート情報を記憶部する記憶部15を備える。また、サーバ10は、レシート情報に基づく商品価格情報(限定ではなく、第1金額情報の一例、第2金額情報の一例)を、通信I/F14によって端末20に送信する制御を行う制御部11を備える。この場合、一の店舗(限定ではなく、第1店舗の一例)の商品またはサービスの商品価格情報(限定ではなく、第1金額情報の一例)は、一の店舗に関連付けて端末20の表示部24に表示され、他の店舗(限定ではなく、第2店舗の一例)の商品またはサービスの商品価格情報(限定ではなく、第2金額情報の一例)は、他の店舗に関連付けて端末20の表示部24に表示される構成を示している。
このような構成により得られる実施例の効果の一例として、複数端末から受信して記憶した、店舗で購入された商品、またはサービスの金額に関する情報に基づく、第1店舗の商品の金額情報、または第1店舗のサービスの金額情報を含む第1金額情報と、第2店舗の商品の金額情報、または第2店舗のサービスの金額情報を含む第2金額情報とを端末に送信することができる。そして、第1金額情報が第1店舗に関連付けて端末20の表示部24に表示され、第2金額情報が第2店舗に関連付けて端末20の表示部24に表示されるようにすることで、金額情報を店舗ごとに端末のユーザに知らせることができる。
また、この場合、一の店舗(限定ではなく、第1店舗の一例)の商品またはサービスの商品価格情報(限定ではなく、第1金額情報の一例)は、複数の端末20に含まれる一の端末20(限定ではなく、第1端末の一例)によって一の店舗(限定ではなく、第1店舗の一例)で発行されたレシートを読み取ることによってサーバ10に送信される。また、他の店舗(限定ではなく、第2店舗の一例)の商品またはサービスの商品価格情報(限定ではなく、第2金額情報の一例)は、複数の端末20に含まれる他の端末20(限定ではなく、第2端末の一例)によって他の店舗(限定ではなく、第2店舗の一例)で発行されたレシートを読み取ることによってサーバ10に送信されるようにすることができる。
このような構成により得られる実施例の効果の一例として、複数の端末によって店舗で発行されたレシートが読み取られることに基づいて、金額情報をサーバで取得することができる。
<第2変形例(1)>
上記の実施例において、地図画像を端末20の表示部24に表示させ、その地図画像上で、各々の店舗と関連付けて、その店舗での商品価格を表示させるようにしてもよい。
図2-3,図2-4は、本変形例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図2-3左側は、図2-1右側の画面に対応しており、ここでは、商品価格情報表示領域上で、ユーザによって上方向のスクロール操作がなされた状態が示されている。その結果、限定ではなく例として、図2-3右側のような表示がなされる。
具体的には、ユーザによる上方向のスクロール操作に基づき、図2-3左側の画面において商品価格情報表示領域に表示されていなかった情報が、スクロール制御によって下から表示されている。この例では、図2-1中央の画面においてユーザによって選択された商品「〇×ヨーグルト」の複数の店舗での価格の情報が表示される領域の下に、商品「〇×ヨーグルト」について、全店舗の平均価格の時系列の推移と、選択された「XXマート JJ店」の価格の時系列の推移とを含む価格推移グラフが表示されている。価格推移グラフにおいて、横軸は「日付」を示し、縦軸は「商品価格(円)」を示している。
この場合、サーバ10は、端末20Aから送信される商品検索情報に基づいて、ユーザによって選択された店舗における、ユーザによって選択された商品の過去設定期間(限定ではなく例として、過去一ヶ月の期間)における価格の推移の情報を端末20Aに送信する。限定ではなく例として、サーバ10は、日にちと商品価格とを対応付けたデータを端末20Aに送信する、または上記の価格推移グラフを端末20Aに送信するようにする。そして、端末20Aは、受信した情報に基づいて、上記の価格推移グラフを表示部24に表示するようにすることができる。
なお、上記の他にも、同じ商品名の商品の店舗別の価格の推移の情報を端末20Aがサーバ10から取得して表示部24に表示するようにしてもよい。この場合、限定ではなく例として、1つの推移グラフで、店舗別に推移グラフを表示してもよい。
また、品目は同じ(限定ではなく例として「ヨーグルト」)であるが異なる商品名の商品の店舗別の価格の推移の情報を端末20Aがサーバ10から取得して表示部24に表示するようにしてもよい。
また、その下には、地図画像を表示部24に表示するための「地図を表示」ボタンBT23が表示されている。この「地図を表示」ボタンBT23がタップされると、限定ではなく例として、図2-4左側のような表示がなされる。
この例では、商品価格情報表示領域が表示されていた領域のうちのほぼ全体の領域に地図画像が表示されている。この地図画像は、限定ではなく例として、位置算出用情報検出部29Bの検出結果に基づき算出された算出端末位置に基づいて表示するようにすることができる。
具体的には、最新の算出端末位置を、推定される端末20(ユーザ)の現在位置(現在地)とし、これを指定位置として地図画像を表示させるようにすることができる。具体的には、指定位置を中心(または中心から少しずれた位置)として地図画像を表示させるようにすることができる。この例では、指定位置をマークMK21で示しており、地図画像の表示領域内に位置する店舗が、アイコン画像によって表示されている。
なお、指定位置は算出端末位置に限定されない。限定ではなく例として、地図画像上におけるユーザのスクロール操作により指定される任意の位置や、ユーザによって入力される任意の住所、アカウント登録データに登録されたユーザの現住所等を指定位置として地図画像を表示させるようにしてもよい。つまり、指定位置は、必ずしも端末20(またはユーザ)の現在位置(推定される現在位置)である必要はない。
また、地図画像が表示される領域の下には、図2-3右側の画面に戻るための「店舗別リスト表示に戻る」ボタンBT25を含む領域が構成されている。
地図画像では、各々の店舗のアイコン画像から吹き出しが表示され、吹き出し内には、縮小された店舗のアイコン画像と、店舗名と、商品(この例では「〇×ヨーグルト」)の画像と、その店舗での商品価格とが表示されている。また、最安値の店舗(この例では「XXマート JJ店」)については、吹き出し内の商品価格と関連付けて「最安値」のマークが表示されている。
この例において、地図画像上でユーザによってスクロール操作がなされたことに基づいて、制御部21の制御に基づき、表示される地図の範囲を変化させることができる。また、地図画像上でユーザによってピンチ操作(ピンチアウト操作/ピンチイン操作)がなされたことに基づいて、制御部21の制御に基づき、地図画像が拡大/縮小されて表示されるようにすることができる。
また、地図画像上に表示された店舗のアイコン画像がタップされると、その店舗に関する詳細な情報が表示されるようにすることができる。
この例では、図2-4左側の画面において「YYスーパー JJ店」のアイコン画像がタップされた状態が示されており、この場合、限定ではなく例として、図2-4右側のような表示がなされる。
図2-4右側の画面では、選択された「YYスーパー JJ店」を含む範囲が拡大されて表示されている。
また、地図画像の一部に重畳するように、選択された「YYスーパー JJ店」に関する詳細な情報を含む店舗詳細情報表示領域SI21が表示されている。この例では、店舗詳細情報表示領域SI21には、「YYスーパー JJ店」のアイコン画像、店舗名とともに、この店舗で販売されている品目「ヨーグルト」に含まれる複数の商品が、この例ではカルーセル形式で表示されている。また、「YYスーパー JJ店」で利用可能なクーポンを表示するための「クーポンをチェック」の文字を含むボタンと、「YYスーパー JJ店」のチラシを表示するための「チラシをチェック」の文字を含むボタンとが表示されている。
本変形例における処理では、限定ではなく例として、地図データを端末20Aの記憶部28に記憶させておくようにすることができる。
具体的には、端末20Aの制御部21が、記憶部28に記憶されている地図データと、最新の算出端末位置とに基づいて、地図画像を表示部24に表示するようにすることができる。この場合、端末20Aは、地図画像を表示する入力がなされたことに基づいて、算出端末位置の情報をサーバ10に送信する。
これを受けて、サーバ10は、受信した算出端末位置の情報に基づき、限定ではなく例として、算出端末位置から半径1km以内といった所定範囲に含まれる店舗に関する情報(店舗名、店舗のアイコン画像、店舗の位置情報等)およびその店舗でのその商品に関する情報(商品名、商品の画像、商品価格(最安値を含む。)等)を、通信I/F14によって端末20Aに送信する。そして、端末20Aが、受信した情報に基づいて、地図画像上に上記のような表示を行うようにすることができる。
なお、地図データを端末20の記憶部28に記憶せず、サーバ10の記憶部15に記憶させておくようにしてもよい。そして、サーバ10が、上記の情報に加えて、地図データを端末20Aに送信するようにしてもよい。
また、端末20Aにおいて、入出力部23を介してスクロール操作がなされた場合、端末20Aの制御部21は、そのスクロール方向およびそのスクロール量に基づいて、表示させる地図の範囲を変更して地図画像の表示を更新する。
この場合、端末20Aの制御部21は、限定ではなく例として、スクロール制御に基づく地図画像上の表示基準位置(限定ではなく例として、スクロール制御後の地図画像の中心位置またはその近傍位置)の情報をサーバ10に送信する。
これを受けて、サーバ10は、受信した表示基準位置の情報に基づき、限定ではなく例として、表示基準位置から半径1km以内といった所定範囲に含まれる店舗に関する情報(店舗名、店舗のアイコン画像、店舗の位置情報等)およびその店舗でのその商品に関する情報(商品名、商品の画像、商品価格(最安値を含む。)等)を、通信I/F14によって端末20Aに送信する。そして、端末20Aが、受信した情報に基づいて、地図画像上に上記のような表示を行うようにすることができる。
なお、上記では端末20Aが算出端末位置の情報をサーバ10に送信することとしたが、前述したように、端末20Aが自己の端末20のユーザによって入力された位置の情報をサーバ10に送信するようにしてもよい。この場合は、ユーザによって入力された位置を前述した指定位置として、地図画像を表示するようにすることができる。
また、上記において、推移グラフに代えて、またはこれに加えて、ユーザによって選択された店舗における、ユーザによって選択された商品の過去設定期間(限定ではなく例として、過去一ヶ月の期間等)の平均価格(平均金額)の情報を端末20Aの表示部24に表示するようにしてもよい。
この場合、サーバ10は、端末20Aから送信される商品検索情報に基づいて、ユーザによって選択された店舗における、ユーザによって選択された商品の過去設定期間における商品価格の平均値を平均価格として算出する。そして、算出した平均価格の情報をサーバ10から端末20Aに送信するようにし、端末20Aが、受信した平均価格の情報を表示部24に表示するようにすることができる。
なお、この他にも、同じ商品名の商品の店舗別の平均価格の情報を端末20Aがサーバ10から取得して表示部24に表示するようにしてもよい。
本変形例は、対象端末20が、地図画像を表示部24に表示する制御を制御部21によって行う。そして、対象端末20は、一の商品価格情報(限定ではなく、第1金額の一例)を地図画像上の一の店舗(限定ではなく、第1店舗の一例)の位置(限定ではなく、第1位置の一例)に基づいて表示部24に表示し、他の商品価格情報(限定ではなく、第2金額の一例)を地図画像上の一の店舗(限定ではなく、第2店舗の一例)の位置(限定ではなく、第2位置の一例)に基づいて表示部24に表示する構成を示している。
このような構成により得られる変形例の効果の一例として、店舗の位置に基づいて金額情報を地図画像上に表示させることができるため、店舗の位置と金額情報との関係を容易に把握可能となり、ユーザの利便性を向上させることができる。
また、この場合、対象端末20は、自己の端末20のユーザによって入力された位置情報(限定ではなく、端末のユーザによって入力された位置情報の一例)、または算出端末位置の情報(限定ではなく、端末の位置に関する位置情報の一例)を、通信I/F22によってサーバ10に送信する。そして、対象端末20は、送信した位置情報に基づく商品価格情報を、通信I/F22によって受信する構成を示している。
このような構成により得られる変形例の効果の一例として、端末のユーザによって入力された位置情報、または端末の位置に関する位置情報をサーバに送信することに基づいて、その位置情報に基づく第1店舗の第1金額情報と、その位置情報に基づく第2店舗の第2金額情報とを簡単に取得することができる。
また、この場合、対象端末20は、一の商品価格情報(限定ではなく、第1金額情報の一例)が、地図画像上に表示される商品価格情報のうち最も安い金額の場合、その最も安い金額の店舗(限定ではなく、第1店舗の一例)の表示態様を他の店舗と異ならせて表示部24に表示する制御を制御部21によって行うようにすることができる。
このような構成により得られる変形例の効果の一例として、地図画像上に表示される金額情報のうち最も安い金額に対応する情報が第1金額情報の場合、第1金額情報を分かり易い態様でユーザに報知することができる。
また、本変形例は、対象端末20が、自己の端末20のユーザによって入力された一の商品の情報、または一のサービスの情報を含む商品検索情報を通信I/F22によってサーバ10に送信する。そして、対象端末20は、その一の商品の情報、または一のサービスの情報に基づき、その一の商品、または一のサービスを、その一の店舗で購入する場合の平均金額の情報を含む平均金額情報(限定ではなく、第1平均金額情報の一例)を通信I/F22によって受信する。そして、対象端末20は、受信した平均金額情報を表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザによって入力された第1商品の情報、または第1サービスの情報をサーバに送信することによって、第1商品、または第1サービスを第1店舗で購入する場合の平均金額の情報を含む第1平均金額情報を簡単に取得することができる。また、第1平均金額情報を表示部に表示することで、平均金額を端末のユーザに知らせることができる。
また、本変形例は、対象端末20が、自己の端末20のユーザによって入力された一の商品の情報、または一のサービスの情報を含む商品検索情報を通信I/F22によってサーバ10に送信する。そして、対象端末20は、その一の商品の情報、または一のサービスの情報に基づき、その一の商品、または一のサービスの、その一の店舗の価格推移の情報を含む価格推移情報(限定ではなく、第1価格推移情報の一例)を通信I/F22によって受信する。そして、対象端末20は、受信した価格推移情報を表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザによって入力された第1商品の情報、または第1サービスの情報をサーバに送信することによって、第1商品、または第1サービスの第1店舗の価格推移の情報を含む第1価格推移情報を簡単に取得することができる。また、第1価格推移情報を表示部に表示することで、価格推移意を端末のユーザに知らせることができる。
<第3実施例>
第3実施例は、ユーザが店舗で買い物する際に参照するリスト(以下、「買い物リスト」と称する。)の作成やクーポンの使用等に関する実施例である。
第3実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
<データ構成>
図3-1は、本実施例においてサーバ10の記憶部15に記憶される情報の一例を示す図である。
記憶部15には、前述した、アプリケーション管理処理プログラム151と、アカウント登録データ153と、店舗登録データ154と、商品価格管理データベース155と、レシート情報管理データベース157とに加えて、限定ではなく例として、アカウント管理データベース159が記憶される。
図3-2は、本実施例における商品価格管理データベース155の一例である商品価格管理データベース155Bのデータ構成例を示す図である。
各々の商品価格管理データには、前述した、商品IDと、商品名と、最安値と、最安店舗IDと、店舗別商品価格データとに加えて、限定ではなく例として、商品クーポンデータが記憶される。
商品クーポンデータには、限定ではなく例として、そのクーポンをユニークに識別するための識別情報であるクーポンIDと、そのクーポンの使用対象となる店舗を識別するための対象店舗IDと、そのクーポンの特典の内容であるクーポン内容と、そのクーポンのコード情報であるクーポンコードとが関連付けて記憶される。
1つの形態として、クーポンを利用可能とする店舗については、買い物補助サービス事業者と提携した上で、買い物補助アプリケーションによってクーポンのサービスが提供されるようにすることができる。
なお、どの店舗でも一律に使用可能なクーポンの情報を商品クーポンデータに記憶させるようにしてもよい。この場合、そのクーポンについては対象店舗IDを記憶させないようにすることができる。
また、上記の情報の他にも、クーポンに使用期限を設け、使用期限を関連付けて商品クーポンデータに記憶させるようにしてもよい。
アカウント管理データベース159は、アカウント登録データ153に登録された各々のアカウントの管理データであり、その一例であるアカウント管理データベース159Aのデータ構成例を図3-3に示す。
アカウント管理データベース159Aには、アカウントごとの管理データとして、アカウント管理データが記憶される。
各々のアカウント管理データには、限定ではなく例として、アプリケーションIDと、買い物リストデータとが記憶される。
買い物リストデータは、ユーザが店舗に出向いて買い物を行う際に参照することを可能とする買い物リストのデータであり、限定ではなく例として、購入予定商品IDと、購入予定商品名と、購入予定店舗IDと、購入予定価格と、購入予定数とが関連付けて記憶される。
購入予定商品IDには、このアプリケーションIDのユーザが購入する予定の商品の商品IDが記憶される。
購入予定商品名には、このアプリケーションIDのユーザが購入する予定の商品の商品名が記憶される。
購入予定店舗IDには、このアプリケーションIDのユーザがこの購入予定商品名の商品を購入する予定の店舗の店舗IDが記憶される。
購入予定価格には、この購入予定商品名の商品の商品価格が記憶される。
購入予定数には、このアプリケーションIDのユーザがこの購入予定商品名の商品を購入する予定の数が記憶される。
なお、各々のアカウント管理データについて、1つの買い物リストデータを記憶させるのに限らず、2つ以上の買い物リストデータを記憶させることを可能としてもよい。
また、各々のアカウント管理データについて、その買い物リストデータに、その商品を購入済みであることを示す購入済みフラグや、その商品のクーポンを使用済みであることを示す使用済みフラグを関連付けて記憶させるようにしてもよい。
<表示画面>
図3-4は、本実施例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図3-4左側には、図2-1左側と同様の価格比較画面が表示されている。ただし、この例では、画面下部のクーポン表示領域において、ユーザが利用可能なクーポンとして「XXマート JJ店」で「〇×ヨーグルト」を購入する場合に利用可能なクーポンが表示されている。
図2-1,図2-3と同様の流れで、図3-4中央の画面において「XXマート JJ店」の「〇×ヨーグルト」が選択されると、限定ではなく例として、図3-4右側のような表示がなされる。この表示は、図2-1右側の表示に対応するものであるが、その表示が一部異なっている。
具体的には、拡大表示された「XXマート JJ店」の「〇×ヨーグルト」の画像の右上部に、この「〇×ヨーグルト」を買い物リストに追加するための買い物リスト追加アイコンIC31が重畳して表示されている。
また、この「〇×ヨーグルト」は、「XXマート JJ店」でクーポンを使用することで最安値である「198円」で購入可能であることを示す情報が表示されている。
また、商品価格情報表示領域の下部の他の店舗の「〇×ヨーグルト」の価格一覧が表示される領域において、各々の店舗について、関連付けて表示された「〇×ヨーグルト」の画像の右上部にも、上記と同様の買い物リスト追加アイコンIC31が重畳して表示されている。
限定ではなく例として、拡大表示された「XXマート JJ店」の「〇×ヨーグルト」の画像に関連付けて表示された買い物リスト追加アイコンIC31がタップされると、図3-5左側のような画面が表示される。
この画面は、買い物リストを表示する買い物リスト画面であり、商品入力領域CI21および検索ボタンBT21の下に、買い物リストが表示されている。
この例における買い物リストは、店舗別に購入予定の商品に関する情報を表示するものであり、「XXマート JJ店」および「YYスーパー JJ店」を含む、複数の店舗別にリストが表示されている。
この買い物リストは、店舗別にリストを表示するものであるため、「店舗別買い物リスト」等のように称してもよい。
買い物リスト画面では、店舗別に表示されるリストにおいて、その店舗で購入することが予定された各々の商品について、その商品の画像、その商品名、その商品価格、その購入予定数が表示されている。
購入予定数の左側には購入予定数を減少させるためのボタンが表示され、購入予定数の右側には購入予定数を増加させるためのボタンが表示されている。
図3-4右側の画面において「XXマート JJ店」の「〇×ヨーグルト」の画像に関連付けて表示された買い物リスト追加アイコンIC31がタップされたことで、「XXマート JJ店」のリストに「〇×ヨーグルト」が追加されて表示されている。また、この「〇×ヨーグルト」は、前述したように、「XXマート JJ店」でクーポンを使用することで最安値である「198円」で購入可能な商品であるため、クーポンを使用するための「クーポンをつかう」ボタンBT31が表示されている。
また、限定ではなく例として、「YYスーパー JJ店」のリストに含まれる「国産鶏もも肉(100g)」には、「YYスーパー JJ店」での特売品であることを示す「特売」のマークが表示され、その商品価格として「98円」が表示されている。
限定ではなく例として、図3-5左側→図3-5中央の画面に示すように、「国産鶏もも肉(100g)」の表示領域がタッチされた後、「XXマート JJ店」のリストにドラッグ(スライド)させてドロップする操作がなされると、限定ではなく例として、図3-5右側のような表示がなされる。
具体的には、「国産鶏もも肉(100g)」が「YYスーパー JJ店」のリストから削除され、「XXマート JJ店」のリストに追加されて表示されている。つまり、「国産鶏もも肉(100g)」が「YYスーパー JJ店」のリストから「XXマート JJ店」のリストに移動されている。
また、「国産鶏もも肉(100g)」は、「XXマート JJ店」では特売品ではないため「特売」のマークが関連付けて表示されていない。そして、「国産鶏もも肉(100g)」の「XXマート JJ店」での商品価格が「108円」であるため、「98円」に代えて「108円」と表示されている。
なお、買い物リスト画面において、限定ではなく例として、店舗名の右側等の位置に、その店舗のリスト(店舗別リスト)に含まれる商品総額を表示させるようにしてもよい。
また、限定ではなく例として、買い物リスト画面において、店舗名左側の店舗アイコンや店舗名がタッチされると、買い物リストに追加された全ての商品をその店舗で購入する場合における合計金額が一時的にバルーン内に表示されるようにしてもよい。
より具体的には、限定ではなく例として、図3-5左側の買い物リスト画面において、「XXマート JJ店」の右側等の位置に、「XXマート JJ店」のリストに含まれる全ての商品を購入する場合の商品総額を表示するようにしてもよい。「YYスーパー JJ店」についても同様である。
また、限定ではなく例として、図3-5中央に示したように商品を他の店舗のリストに移動させる操作(ドラッグ&ドロップなど)を行わずとも、限定ではなく例として、図3-5中央の画面において「XXマート JJ店」の店舗アイコンや店舗名がタッチされると、買い物リストに含まれる全ての商品を「XXマート JJ店」で購入する場合の合計金額がバルーン内に表示されるようにしてもよい。バルーンは、限定ではなく例として、タッチした指やタッチペンがホールドされている間は表示されるようにすることができ、指やタッチペンが画面から離されると表示が消去されるようにすることができる。「YYスーパー JJ店」についても同様である。
つまり、買い物リストに含まれる全ての商品を各々の店舗で購入する場合の合計金額を一時的にユーザが確認できるようにしてもよい。このようにすることで、限定ではなく例として、ユーザが複数の店舗で買い回りするのが面倒である場合等に、どの店舗で商品を購入すべきかをユーザが容易に判断できるようにすることができる。
なお、上記において、限定ではなく例として、タッチした指やタッチペンが画面から離されてもバルーンの表示が消去されないようにしてもよい。つまり、買い物リストに含まれる全ての商品を各々の店舗で購入する場合の合計金額が一時的に表示されるものに限定されるわけではない。
図3-5右側の状態で、限定ではなく例として、下部に表示された「地図を表示」ボタンBT23がタップされると、図3-6左側のような画面が表示される。
この画面は、図2-4と同様に、地図画像が表示される画面であるが、図2-4とは表示が異なっている。具体的には、地図画像上で、各々の店舗と関連付けて、買い物リストのうちのその店舗に対応するリストに基づいて買い物を行った場合の合計金額が表示されている。この例では、「XXマート JJ店」に対応するリストに基づいて買い物を行った場合の合計金額は「2,115円」であることが、「XXマート JJ店」のアイコン画像から吹き出しで表示されている。また、「YYスーパー JJ店」に対応するリストに基づいて買い物を行った場合の合計金額は「927円」であることが、「YYスーパー JJ店」のアイコン画像から吹き出しで表示されている。
また、この例では、各々の店舗について、マークMK21で示される指定位置から徒歩で移動する場合のその店舗までの想定される所要時間(以下、「徒歩所要時間」と称する。)が、吹き出し内に表示されている。具体的には、「XXマート JJ店」については徒歩所要時間が「3分」であり、「YYスーパー JJ店」については徒歩所要時間が「7分」であることが、それぞれ吹き出し内に表示されている。
図3-6左側の画面では、「XXマート JJ店」の吹き出しの表示領域のうち合計金額が表示される領域がタップされた状態が示されており、この場合、限定ではなく例として、図3-6右側のような表示がなされる。具体的には、「XXマート JJ店」の吹き出しが伸長して、買い物リストのうちの「XXマート JJ店」に対応するリストの内容が吹き出し内に表示されている。また、吹き出し内の最下部には、伸長された表示を元の表示(図3-6左側の吹き出しの表示)に戻すための「とじる」ボタンが表示されている。
図3-7は、本実施例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図3-7左側は、図3-5右側に対応する画面であり、「クーポンをつかう」ボタンBT31がタップされた状態が示されている。すると、限定ではなく例として、図3-7中央の画面が表示される。
この画面は、クーポン画面であり、「〇×ヨーグルト」の画像、「XXマート JJ店」の文字、「〇×ヨーグルト」の文字の他、限定ではなく例として、クーポンによる特典の内容が「10円引き」である旨が表示されている。また、その下には、このクーポンを使用するためのコード情報の一例である一次元コード(バーコード)等が表示されている。
また、その下には、「XXマート JJ店」で上記の「〇×ヨーグルト」以外の商品に使用可能なクーポンに関する情報が表示されている。具体的には、「XXマート JJ店 その他のクーポン」として、この例では「レトルトカレー」の「20円引き」のクーポンに関する情報が表示されている。
ユーザA.Aが、店舗のレジで上記の一次元コード(バーコード)を読み取ってもらうことで、「〇×ヨーグルト」について「10円引き」の特典を受けることが可能となり、その結果、最安値である「198円」で購入可能となる。その後、図3-7中央の画面において「買い物リストに戻る」のボタンがタップされると、図3-7右側の画面が表示される。
この画面は、図3-7左側に対応する買い物リスト画面であるが、クーポンが使用されたことに基づいて、「XXマート JJ店」のリストに含まれる「〇×ヨーグルト」に関連付けられた「クーポンをつかう」ボタンBT31の表示が、図3-7左側とは異なっている。具体的には、この例では、「クーポンをつかう」ボタンBT31が「クーポン使用済み」に変化するとともに色付き(グレーアウト表示等でもよい。)で表示されている。クーポンを使用済みであることから、この「クーポン使用済み」に変化したボタンBT32がタップされても、図3-7中央の画面は表示されず、クーポンを使用することはできなくなっている。
図3-5に示したように、買い物リストの一の店舗のリストに含まれる商品を、買い物リストの別の店舗のリストに移動させるようなことも可能である。
この場合、買い物リストの一の店舗のリストに含まれる商品のうち、その店舗で使用可能なクーポンが紐付いた商品(限定ではなく例として、「クーポンをつかう」ボタンBT31が関連付けて表示された商品)を別の店舗のリストに移動させる場合、移動先の店舗でその商品のクーポンが紐付いていない場合(移動先の店舗でその商品のクーポンを使用することができない場合)は、移動先の店舗のリスト内で「クーポンをつかう」ボタンBT31がその商品に関連付けて表示されず、移動先の店舗の通常の商品価格が表示されるようにすることができる。
一方、移動先の店舗でもその商品のクーポンが紐付いている場合は、移動先の店舗のリスト内で「クーポンをつかう」ボタンBT31がその商品に関連付けて表示され、そのクーポンが適用された商品価格を表示させるようにすることができる。
<処理>
図3-8は、本実施例において各装置が実行する処理の流れの一例を示すフローチャートであり、図1-13の処理を適用する場合の処理例である。
なお、図1-11の処理を適用する場合も同様であるため、ここでは図示・説明を省略する。
また、端末20Aのユーザがレシート情報の集計に参加することは必須ではない。そのため、端末20AにおけるA110~A140のステップと、サーバ10におけるS110~S130のステップとを省略し、A210のステップ以降を実行するようにしてもよい。
A220の後、端末20Aの制御部21は、入出力部23に対するユーザによる買い物リストを追加するための入力に基づいて、買い物リスト追加情報を通信I/F22によってサーバ10に送信する(A310)。買い物リスト追加情報には、限定ではなく例として、ユーザによって入力された、買い物リストに新規に追加する購入予定商品に対応する商品ID、この購入予定商品を購入する予定の購入予定店舗に対応する店舗ID、この購入予定商品の購入予定数等の情報を含めるようにすることができる。
なお、既に買い物リストに含まれている購入予定商品について、購入予定店舗や購入予定数を変更する場合は、ユーザによって入力された、新たな購入予定店舗に対応する店舗ID、新たな購入予定数等の情報を買い物リスト追加情報に含めて送信するようにすることができる。
S220の後、通信I/F14によって端末20Aから買い物リスト追加情報を受信すると、サーバ10の制御部11は、買い物リスト追加処理を行う(S310)。具体的には、受信した買い物リスト追加情報に含まれる商品ID、店舗ID、購入予定数に基づいて、アカウント管理データベース159Aのうち、ユーザA.AのアプリケーションIDのアカウント管理データに含まれる買い物リストデータを更新する。購入予定商品IDには、受信した商品IDを記憶させることができる。購入予定商品名には、この購入予定商品IDに対応する商品価格管理データから特定した商品名を記憶させることができる。購入予定店舗IDには、受信した店舗IDを記憶させることができる。購入予定価格には、この購入予定商品IDに対応する商品価格管理データの店舗別商品価格データから特定した商品価格を記憶させることができる。購入予定数には、受信した購入予定数を記憶させることができる。
次いで、サーバ10の制御部11は、S310の処理結果として得られた買い物リスト情報(買い物リストデータ)を、通信I/F14によって端末20Aに送信する(S320)。
なお、サーバ10の制御部11が、クーポン情報や店舗情報を買い物リスト情報に含めて端末20Aに送信するようにしてもよい。
その後、サーバ10の制御部11は、処理を終了するか否かを判定し(S330)、処理を継続すると判定したならば(S330:NO)、S210に処理を戻す。一方、処理を終了すると判定したならば(S330:YES)、サーバ10の制御部11は、処理を終了する。
A310の後、通信I/F22によってサーバ10から買い物リスト情報を受信すると、端末20Aの制御部21は、受信した買い物リスト情報を表示部24に表示させる(A320)。
その後、端末20Aの制御部21は、処理を終了するか否かを判定し(A330)、処理を継続すると判定したならば(A330:NO)、A210に処理を戻す。一方、処理を終了すると判定したならば(A330:YES)、端末20Aの制御部21は、処理を終了する。
<第3実施例の効果>
本実施例は、対象端末20が、自己の端末20のユーザによって、一の店舗の一の商品、または一の店舗の一のサービスが選択された場合、買い物リスト追加情報を通信I/F22によってサーバ10に送信する制御(限定ではなく、第1店舗の第1商品、または第1店舗の第1サービスをリストに含める制御の一例)を制御部21によって行う。そして、買い物リスト(限定ではなく、買い物リストの一例)は、一の店舗の一の商品、または一の店舗の一のサービスの価格情報(限定ではなく、第1金額情報の一例)を含む構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザによって選択された、第1店舗の第1商品、または第1店舗の第1サービスとともに、それらの金額情報である第1金額情報をリストに含めることができる。限定ではなく例として、そのリストを端末のユーザが確認できるようにすることで、ユーザの買い物を補助することが可能となり、利便性を向上させることができる。
<第3変形例(1)>
上記の実施例において、買い物リストに基づいてユーザが実際に買い物を行う場合に、商品の買い忘れに関する報知を行うようにしてもよい。
図3-9は、本変形例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図3-9左側は、端末20Aのユーザが買い物リストを作成後、その買い物リストに従って店舗で買い物を行った場合のレシート撮影画面の一例を示す図であり、この例では、ユーザA.Aが前述した「XXマート JJ店」で買い物を行って取得したレシートを、自己の端末20Aで撮像した状態を示している。「読み取り結果表示」ボタンBT17がタップされると、限定ではなく例として、図3-9中央の画面が表示される。
この画面は、レシート読み取り結果表示画面の一例であり、画面上部から中央部にかけて、読み取ったレシートに基づくレシート情報RC31が表示されている。この例では、「8月25日(水)」のレシート情報RC31として、「XXマート JJ店」で「11時57分」に、「〇×ヨーグルト」を「198円」と「国産鶏もも肉」を「398円」とを含む複数の商品が購入され、その購入合計金額が「1,945円」であることが示されている。
しかし、この例では、その下に買い忘れ情報FB31が表示されている。具体的には、「買い忘れかも?」の文字および買い忘れを模式化した画像とともに、「買い忘れ商品を検知しました」の文字と、「買い物リストで確認」ボタンBT35とを含む買い忘れ情報FB31が表示されている。「買い物リストで確認」ボタンBT35がタップされると、限定ではなく例として、図3-9右側の画面が表示される。
この画面は、図3-7右側に対応する買い物リスト画面であるが、この例では、買い物リストのうちの「XXマート JJ店」のリストに含まれる商品である「玉ねぎ」に関連付けて、買い忘れの可能性を示唆するマークMK31が表示されている。つまり、この例では、ユーザA.Aが「XXマート JJ店」で買い物を行った際に買い物リストに含まれる「玉ねぎ」を買い忘れた可能性があることが、上記のレシート情報に基づいてサーバ10によって判定されたことが示されている。
図3-10,図3-11は、本変形例において各装置が実行する処理の流れの一例を示すフローチャートである。
A330の終了判定で終了すると判定したならば(A330:YES)、端末20Aの制御部21は、レシート読み取り処理を行う(A340)。このステップでは、ユーザA.Aは、買い物リストを参照して実際に買い物を行って店舗で受け取ったレシートを端末20に読み取らせる。
次いで、端末20Aの制御部21は、そのレシートに対応するレシート情報を、通信I/F22によってサーバ10に送信する(A350)。
なお、A340,A350のステップで制御部21が実行する処理は、A110,A120のステップとそれぞれ同様とすることができる。
S330の終了判定において終了すると判定した後(S330:YES)、通信I/F14によって端末20Aからレシート情報を受信すると、サーバ10の制御部11は、レシート情報解析処理を行う(S340)。この処理は、S110のステップと同様とすることができる。
次いで、サーバ10の制御部11は、レシート・リスト比較処理を行う(S350)。具体的には、ユーザA.Aのアカウント管理データに含まれる買い物リストデータの買い物リスト情報と、S340で解析されたレシート情報とを比較・照合する。
この場合、サーバ10の制御部11は、限定ではなく例として、以下のうちの少なくともいずれか1つを判定するようにすることができる。
(a1)商品が全て購入されたか。限定ではなく例として、買い物リストデータに記憶されている全ての商品名の商品が、レシート情報に含まれているか否かを判定する。
(a2)購入数が足りているか。限定ではなく例として、買い物リストデータに記憶されている商品ごとに、レシート情報から特定される購入数が、購入予定数以上であるか否かを判定する(購入予定数≦購入数)
(a3)クーポンが使用されたか。限定ではなく例として、クーポンを使用することで割引となる商品(限定ではなく例として、図3-4右に示したようなクーポン使用で最安値となる商品等)について、レシート情報から特定される購入価格が、クーポンが使用された場合の商品価格と一致しているか否かを判定する。
(a1)は、ユーザが誤って一部の商品を買い忘れてしまう可能性があるため、それを判定する趣旨である。
(a2)は、ユーザが誤って購入予定数に満たない数しか商品を購入しない可能性があるため、それを判定する趣旨である。
なお、ユーザが予備として多めに商品を購入する可能性があるため、この例では「購入予定数≦購入数」であるか否かを判定するようにしている。
(a3)は、ユーザが誤ってクーポンを使用せずに商品を購入してしまう可能性があるため、それを判定する趣旨である。
なお、これらの他にも、商品を購入した店舗が一致しているか否かを、上記の判定に含めるようにしてもよい。
サーバ10の制御部11は、上記の少なくともいずれかの判定を行うようにすることができる。そして、その判定結果が否定判定である場合、サーバ10の制御部11は、買い忘れの可能性があると判定する(買い忘れ検出)。
買い忘れが検出された場合(S360:YES)、サーバ10の制御部11は、買い忘れ情報を、通信I/F14によって端末20Aに送信する(S370)。具体的には、限定ではなく例として、買い忘れと判定した商品名、購入数が購入予定数と一致していない旨を示す情報、購入数が購入予定数よりも少ない旨を示す情報、不足している商品の数(購入予定数-購入数)の情報、クーポンが使用されなかった旨を示す情報、クーポンが使用されなかった商品名等の情報を、買い忘れ情報に含めて端末20Aに送信する。
S370の後、または買い忘れが検出されなかった場合(S360:NO)、サーバ10の制御部11は、レシート情報集計処理を行う(S380)。この処理は、S120のステップと同様とすることができる。
そして、サーバ10の制御部11は、処理を終了する。
A350の後、端末20Aの制御部21は、通信I/F22によってサーバ10から買い忘れ情報を受信したか否かを判定し(A360)、受信したと判定したならば(A360:YES)、受信した買い忘れ情報を表示部24に表示させる(A370)。そして、端末20Aの制御部21は、処理を終了する。
買い忘れ情報を受信しなかったと判定したならば(A360:NO)、端末20Aの制御部21は、処理を終了する。
なお、ユーザは購入予定数分の商品しか購入しない予定であったにも関わらず、誤って購入予定数よりも多く商品を購入してしまうような場合もあり得る。
そこで、上記の(a2)において「購入予定数<購入数」であると判定した場合に、購入数が購入予定数と一致していない旨を示す情報や、購入数が購入予定数よりも多い旨を示す情報、過分の購入数(購入数-購入予定数)の情報等を端末20Aに送信して、これらをユーザに報知するようにしてもよい。
本変形例は、対象端末20が、買い物リスト情報(限定ではなく、リストの一例)とレシート情報とに基づく、商品、またはサービスの買い忘れに関する情報を、表示部24に表示する構成を示している。
このような構成により得られる変形例の効果の一例として、買い忘れの可能性をユーザに報知することができ、ユーザの利便性を向上させることができる。
<第3変形例(2)>
サーバ10が、レシート情報を解析・集計した結果に基づいて、店舗で行われるタイムセール情報を端末20に送信する。そして、端末20が、受信したタイムセール情報を表示部24に表示させるようにしてもよい。
限定ではなく例として、サーバ10の制御部11は、レシート情報管理データベース157を参照し、各レシート発行店舗IDと商品IDとにおける、レシート発行日時に対する商品単価の相関を算出する。そして、所定期間(特定の日付(限定ではなく例として、毎月1日)や特定の曜日(限定ではなく例として、木曜日)、特定の時間帯(限定ではなく例として、「16:00~17:00」)等)において特定商品の価格が有意に低下している(限定ではなく例として、7日間移動平均から2σ以上価格が下落:ただしσは標準偏差)場合、その所定期間を特定商品のタイムセール期間と判断し、タイムセール情報を発行するようにすることができる。
なお、現時刻から所定期間以内(限定ではなく例として、30分以内)にある店舗での商品単価が有意に低下していることが検出される場合においても、その店舗でゲリラセールが開催されている可能性が高いため、サーバ10の制御部11は、タイムセール情報をリアルタイムに発行することができる。
また、商品を購入した店舗で発行されたレシートにタイムセール情報が含まれる場合、自分がサーバ10に提供したレシート情報に含まれるタイムセール情報に基づいて、一時的なセールの情報を他人に提供することができる。
また、この場合、サーバ10が、ユーザの属性情報(限定ではなく例として、性別、年齢(年代)、嗜好等)に基づいて、タイムセール情報を端末20に送信するようにしてもよい。ユーザの属性情報は、限定ではなく例として、アカウント登録データ153(図1-4)のその他登録情報に記憶させるようにすることができる。
具体的には、限定ではなく例として、男性(女性)のユーザには、男性(女性)が購入しそうな商品のタイムセール情報を男性(女性)のユーザの端末20に送信する。また、ユーザの年代に基づき、その年代のユーザが購入しそうな商品のタイムセール情報を、その年代のユーザの端末20に送信する。また、ユーザの嗜好に基づき、その嗜好があるユーザが購入しそうな商品のタイムセール情報を、その嗜好のユーザの端末20に送信する。
なお、ユーザの属性情報の2以上の組合せに基づいて、そのユーザの端末20に送信するタイムセールの情報を決定するようにしてもよい。
クーポン情報についても上記のタイムセール情報と同様の考え方で、ユーザの属性情報に基づいてクーポン情報を端末20に送信するようにしてもよい。
また、上記のタイムセール情報とは逆の考え方で、ユーザの購入履歴に基づいて、そのユーザの購入回数が少ない(または購入頻度が低い)商品のクーポン情報を、そのユーザの端末20に送信するようにしてもよい。これは、ユーザが普段なかなか購入することのない商品をお試しさせるために、お得な情報によって商品の購入を促進する趣旨である。
限定ではなく例として、お酒をあまり購入しない20歳(ユーザの属性情報(年齢または年代)に基づき判定する。)以上のユーザの端末20に対して、お酒のクーポン情報を送信するようにしてもよい。
なお、タイムセール情報についても上記のクーポン情報と同様の考え方で、ユーザがあまり購入しない商品のタイムセール情報を、そのユーザの端末20に送信するようにしてもよい。
<第4実施例>
第4実施例は、前述した買い物リストへの商品の一括的な追加等を実現するための実施例である。
第4実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
<表示画面>
図4-1は、本実施例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図4-1左側は、買い物リスト画面の一例を示しており、この例では、料理をする際に参照するレシピに基づいて買い物リストに商品を一括的に追加する手法を例示する。
この画面では、アプリ内位置表示領域の下に、検索するレシピに関する情報を入力するためのレシピ入力領域RI41と、入力された情報に基づいて検索を実行するための検索ボタンBT41とが表示されている。
この例では、レシピ入力領域RI41に「カレー」の文字が入力され、検索ボタンBT41がタップされて、検索結果が表示された状態が示されている。具体的には、「レシピから検索」の文字を含むマークの下に、この例では、「ポークカレー」や「バターチキンカレー」を含む、「カレー」に関する複数のレシピの検索結果が表示されている。
限定ではなく例として、「バターチキンカレー」の表示領域がタップされると、図4-1中央の画面が表示される。この画面は、「バターチキンカレー」のレシピの詳細な情報を表示するレシピ詳細画面であり、この例では、「4人分」の「バターチキンカレー」を作る場合の材料(鶏もも肉400g,玉ねぎ2個,トマト缶1缶,ヨーグルト100g等)が表示され、その下には、その作り方が表示されている。
また、この例では、材料が表示される領域の近傍に、前述した買い物リスト追加アイコンIC31が表示されている。この買い物リスト追加アイコンIC31がタップされると、限定ではなく例として、図4-1右側の画面が表示される。
この画面は、買い物リスト画面であり、図4-1左側や図4-1中央の画面に表示されていた「バターチキンカレー」の材料が、買い物リストに自動的に追加されて表示されている。具体的には、この例では、鶏もも肉のうち店舗で購入可能な商品の一例として「国産鶏もも肉(100g)」がリストに追加され、その数量として「4」が自動入力されている。同様に、「玉ねぎ」がリストに追加され、その数量として「2」が自動入力され、「トマト缶」がリストに追加され、その数量として「1」が自動入力され、「ヨーグルト」のうち店舗で購入可能な商品の一例として「〇×ヨーグルト」が自動入力されている。
なお、この例では、ユーザA.Aが過去に「〇×ヨーグルト」を購入したことがあったため、ユーザA.Aの購入履歴に基づいて、「ヨーグルト」のうちの「〇×ヨーグルト」が選択されて自動入力されている。
この買い物リスト画面の買い物リストは、購入する店舗が関連付けられていない、構築中(暫定的な)買い物リストである。
この買い物リストを、便宜的に「構築中買い物リスト」と称する。
また、各々の商品に関連付けられた増減ボタンをタップすることで、購入予定数を変更することが可能に構成されており、検索されたレシピに掲載されている分量とは異なる分量とする場合は、増減ボタンをタップして購入予定数を変更することで、分量を調整することが可能に構成されている。
図4-1右側の画面において「地図を表示」ボタンBT23がタップされると、限定ではなく例として、図4-2左側の画面が表示される。この例では、図3-6左側と同様に地図画像が表示され、各々の店舗と関連付けて、買い物リストに含まれる商品を購入する場合の合計金額が表示されている。また、この例では、各々の店舗のアイコン画像からの吹き出し内に、買い物リストに含まれる商品をその店舗で購入する場合に選択するための「このお店で買う」ボタンが設けられている。
図4-2左側の画面では、「YYスーパー JJ店」の吹き出し内の「このお店で買う」ボタンがタップされた状態が示されており、この場合、限定ではなく例として、図4-2中央の画面が表示される。
この画面は、買い物リスト画面であり、図4-1右側の画面の買い物リストに含まれていた「国産鶏もも肉(100g)」,「玉ねぎ」,「トマト缶」,「〇×ヨーグルト」等の商品が、選択された「YYスーパー JJ店」と関連付けて表示されている。つまり、図4-1右側の画面が表示された時点では、買い物リストに店舗が関連付けられていなかったが、図4-2左側の画面において店舗(YYスーパー JJ店)が選択されたことに基づいて、図4-2中央の画面では、選択された「YYスーパー JJ店」が関連付けられ、「YYスーパー JJ店」のリストとして表示されている。
また、「YYスーパー JJ店」の商品価格に基づき、「国産鶏もも肉(100g)」1つあたりの価格として「98円」が、「玉ねぎ」1つあたりの価格として「77円」が、「トマト缶」1つあたりの価格として「198円」が、「〇×ヨーグルト」1つあたりの価格として「218円」がそれぞれ表示されている。このうち、「国産鶏もも肉(100g)」は「YYスーパー JJ店」では特売品であるため、「特売」のマークが関連付けて表示されている。また、図4-1右側の画面で表示されていた購入予定数が、この画面でも同様に表示されている。
この例では、「〇×ヨーグルト」の表示領域がタップされて選択された状態が示されており、この場合、限定ではなく例として、図4-2右側の画面が表示される。
この画面は、選択された「〇×ヨーグルト」に関する情報を表示する価格比較画面であり、商品価格情報表示領域には、前述したように、「YYスーパー JJ店」の店舗名とともに、選択された「〇×ヨーグルト」の拡大された画像、商品名およびこの店舗での価格(この例では「218円」)が表示されている。
また、下部の価格一覧が表示される領域には、他の複数の店舗それぞれにおける「〇×ヨーグルト」の価格を含む情報が表示されており、この例では、「XXマート JJ店」での「〇×ヨーグルト」の商品価格が最安値(この例では「198円」)として表示されている。
ここで、ユーザA.Aが「〇×ヨーグルト」を最安値で購入したいと考える場合があり得る。この場合、「XXマート JJ店」と関連付けて表示された「〇×ヨーグルト」の情報を表示する枠内の、「〇×ヨーグルト」の画像に関連付けて表示された買い物リスト追加アイコンIC31がタップされて選択されると、選択された「〇×ヨーグルト」が、買い物リストのうちの「XXマート JJ店」のリストに追加される。
この場合、限定ではなく例として、図4-2中央の買い物リスト画面の「YYスーパー JJ店」のリストの下に、「〇×ヨーグルト」を含む「XXマート JJ店」のリストを表示させるようにすることができる。そして、図4-2中央の買い物リスト画面の「YYスーパー JJ店」のリストから「〇×ヨーグルト」を削除するようにすることができる。
なお、これとは異なり、「YYスーパー JJ店」のリストから「〇×ヨーグルト」を削除しないようにしてもよい。
また、上記の例とは異なり、図4-2左側の画面の地図画像上に表示された「YYスーパー JJ店」以外の店舗について、図4-2中央の画面の「YYスーパー JJ店」と同様のリストを、「YYスーパー JJ店」のリストの下に表示させるようにしてもよい。また、この場合、限定ではなく例として、指定位置から距離が近い(徒歩所要時間が短い)順にリストを表示させてもよいし、そのようにしなくてもよい。
<処理>
図4-3は、本実施例において各装置が実行する処理の流れの一例を示すフローチャートであり、図1-13の処理を適用する場合の処理例である。
なお、図1-11の処理を適用する場合も同様であるため、ここでは図示・説明を省略する。
また、端末20Aのユーザがレシート情報の集計に参加することは必須ではない。そのため、端末20AにおけるA110~A140のステップと、サーバ10におけるS110~S130のステップとを省略し、A210のステップ以降を実行するようにしてもよい。
A220の後、端末20Aの制御部21は、商品を一括的に買い物リスト(この例では、購入する店舗が関連付けられていない「構築中買い物リスト」)に追加させるための買い物リスト一括追加情報を、通信I/F22によってサーバ10に送信する(A410)。
具体的には、限定ではなく例として、
(b1)店舗の指定なしでユーザによって選択された商品
(b2)ユーザによって選択されたレシピの材料
の少なくともいずれか一方に対応する商品の商品ID、購入予定数等を含む買い物リスト一括追加情報をサーバ10に送信するようにすることができる。
(b1)では、限定ではなく例として、図3-4左側の価格比較画面等において「よく買う商品」として表示された、店舗が関連付けられていない商品の中から1以上の商品が選択された場合に、買い物リスト一括追加情報をサーバ10に送信するようにすることができる。
なお、これに限定されるわけではなく、限定ではなく例として、図3-4中央や図3-4右側の価格比較画面等において店舗と関連付けて表示された商品に対応する買い物リスト追加アイコンIC31がタップされた場合に、その商品をその店舗のリストに含めるか否かをユーザに確認する情報を表示させるようにする。そして、その店舗のリストに含めることが選択されなかった場合、その商品を構築中買い物リストに含めるべく、買い物リスト一括追加情報をサーバ10に送信するようにするようにしてもよい。
なお、レシピに基づいて買い物リスト一括追加情報を送信する場合、端末20Aの制御部21は、A410の処理を行うよりも前に、ユーザ入力に基づいてレシピ情報をサーバ10から受信して表示するようにすることができる。
S220の後、サーバ10の制御部11は、買い物リスト一括追加処理を行う(S410)。具体的には、受信した買い物リスト一括追加情報に含まれる商品ID、購入予定数に基づいて、アカウント管理データベース159Aのうち、ユーザA.AのアプリケーションIDのアカウント管理データに含まれる買い物リストデータを更新する。購入予定商品IDには、受信した商品IDを記憶させることができる。購入予定商品名には、この購入予定商品IDに対応する商品価格管理データから特定した商品名を記憶させることができる。購入予定数には、受信した購入予定数を記憶させることができる。
また、構築中買い物リストであり、店舗が関連付けられていないため、購入予定店舗IDは「NULL」とすることができる。また、店舗が関連付けられておらず、商品価格を一意に特定できないため、購入予定価格も「NULL」とすることができる。
次いで、サーバ10の制御部11は、S410の処理結果として得られた買い物リストを構築中買い物リストとし、その情報である構築中買い物リスト情報を、通信I/F14によって端末20Aに送信する(S420)。
なお、購入予定価格を一意に特定することはできないが、図4-1右側の表示画面の「〇×ヨーグルト」の欄に示したように、限定ではなく例として、ユーザA.Aによるその商品の過去の購入価格(限定ではなく例として、前回購入価格)や、その商品の店舗別商品価格データに記憶されている商品価格を平均した平均価格等の情報を、構築中買い物リスト情報に含めて、端末20Aに送信するようにしてもよい。
通信I/F22によってサーバ10から構築中買い物リスト情報を受信すると、端末20Aの制御部21は、受信した構築中買い物リスト情報を表示部24に表示させる(A420)。この一例は、図4-1右側の画面に表示される情報とすることができる。
S420の後、サーバ10の制御部11は、限定ではなく例として、構築中買い物リスト情報に含まれる全ての商品を購入する場合の合計金額を店舗別に算出した情報を買い物リスト店舗別価格情報とし、これを通信I/F14によって端末20Aに送信する(S430)。
通信I/F22によってサーバ10から買い物リスト店舗別価格情報を受信すると、端末20Aの制御部21は、受信した買い物リスト店舗別価格情報を表示部24に表示させる(A430)。この一例は、図4-2左側の画面に表示される情報とすることができる。
その後、端末20Aの制御部21は、入出力部23を介したユーザによる店舗を選択する入力に基づいて、選択された店舗に対応する店舗IDを含む購入店舗情報を、通信I/F22によってサーバ10に送信する(A440)。
S430の後、通信I/F14によって端末20Aから購入店舗情報を受信すると、サーバ10の制御部11は、買い物リスト更新処理を行う(S440)。具体的には、上記の買い物リストデータの購入予定店舗IDに、受信した購入店舗情報に含まれる店舗IDを記憶・更新する。また、上記の買い物リストデータの購入予定価格に、その店舗でのその購入予定商品の商品価格を記憶・更新する。
次いで、サーバ10の制御部11は、S440で得られた買い物リストの情報である買い物リスト情報を、通信I/F14によって端末20Aに送信する(S450)。そして、サーバ10の制御部11は、処理を終了する。
通信I/F22によってサーバ10から買い物リスト情報を受信すると、端末20Aの制御部21は、受信した買い物リスト情報を表示部24に表示させる(A450)。この一例は、図4-2中央の画面に表示される情報とすることができる。そして、端末20Aの制御部21は、処理を終了する。
<第4実施例の効果>
本実施例は、対象端末20が、自己の端末20のユーザによってレシピ(限定ではなく、第1レシピの一例)が選択された場合、その材料を買い物リスト(限定ではなく、リストの一例)に含める制御を制御部21によって行う。そして、対象端末20は、その買い物リストに含まれる材料の合計金額情報を店舗ごとに表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザによって第1レシピが選択されたことに基づいて第1レシピの材料をリストに含めた上で、そのリストに含まれる材料の合計金額情報を店舗ごとに表示して、ユーザに知らせることができる。
また、本実施例は、対象端末20が、自己の端末20のユーザによってレシピ(限定ではなく、第1レシピの一例)が選択された場合、その材料を買い物リスト(限定ではなく、リストの一例)に含める制御を制御部21によって行う。そして、対象端末20は、その買い物リストに含まれる材料を購入する店舗を選択したり振り分けるための情報(限定ではなく、リストに含まれる材料を購入する店舗に関する情報の一例)を表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザによって第1レシピが選択されたことに基づいて第1レシピの材料をリストに含めた上で、そのリストに含まれる材料を購入する店舗に関する情報を、ユーザに知らせたり、利用させることができる。
<第4変形例(1)>
上記の実施例において、構築中買い物リストに含まれる商品の買い回りに関する情報をユーザに提案するようにしてもよい。
図4-4は、本変形例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。ここでは、図4-1右側に示したレシピの材料に対応する商品が構築中買い物リストに一括的に追加された場合の買い回りの表示画面を例示する。
図4-4左側は、図4-2左側に対応する画面であるが、その表示が一部異なっている。
具体的には、地図画像の表示領域の上部に、買い回りに関する計算を行うための「買い回り計算する」ボタンBT43が表示されている。この「買い回り計算する」ボタンBT43がタップされると、限定ではなく例として、図4-4右側のような表示がなされる。
具体的には、地図画像の表示領域の中央部に、買い回りのルートを設定するためのルート設定情報RS41が表示されている。このルート設定情報RS41には、限定ではなく例として、価格優先で買い回りする価格優先ルートの情報と、効率優先で買い回りする効率優先ルートの情報と、バランス優先で買い回りするバランス優先ルートの情報とが含まれる。
価格優先ルートは、限定ではなく例として、商品の価格を優先して買い回りするルートであり、限定ではなく例として、構築中買い物リストに含まれる商品を購入する場合の合計金額が最小となるルートとすることができる。
効率優先ルートは、限定ではなく例として、時間や距離などの効率を優先して買い回りするルートであり、限定ではなく例として、構築中買い物リストに含まれる商品を購入する場合の所要時間や移動距離が最小となるルートとすることができる。
バランス優先ルートは、限定ではなく例として、価格優先ルートと効率優先ルートとの折衷的なルートとすることができる。
図4-4右側では、これらのルートのうちの「バランス優先ルート」がタップされて選択された状態が示されている。この場合、限定ではなく例として、図4-5左側の画面が表示される。
図4-5左側の画面では、バランス優先ルートの計算結果に基づき、地図画像上に、バランス優先ルートが表示されている。具体的には、限定ではなく例として、地図画像に重畳するように、「バランス優先」の文字とともに、マークMK21で示される指定位置から徒歩3分で「XXマート JJ店」に移動し、その後、「XXマート JJ店」から徒歩10分で「YYスーパー JJ店」に移動するルートに関する情報が表示されている。また、地図画像上には、このルートが色付きで表示されている。
また、「XXマート JJ店」で購入する商品の小計金額「618円」が「XXマート JJ店」の吹き出し内に表示され、「YYスーパー JJ店」で購入する商品の小計金額「714円」が「YYスーパー JJ店」の吹き出し内に表示されている。これらの金額を合計すると「1,332円」となり、図4-4右側の画面に示したバランス優先ルートの金額「1,332円」に対応する。
限定ではなく例として、「XXマート JJ店」の吹き出しがタップされると、限定ではなく例として、図4-5中央の画面が表示される。この例では、このルートを採用した場合に「XXマート JJ店」で購入する商品に関する情報が、「XXマート JJ店」のアイコン画像から別の吹き出しで表示されている。
なお、図示は省略しているが、「YYスーパー JJ店」の吹き出しがタップされると、このルートを採用した場合に「YYスーパー JJ店」で購入する商品に関する情報が同様に表示される。
地図画像の下部には、提案されたルートを採用するための「このルートにする」ボタンBT45が表示されており、タップされると、限定ではなく例として、図4-5右側の画面が表示される。
この画面は、構築中買い物リストに含まれる商品が、適用されたルートに基づいて店舗別に振り分けられた買い物リストが表示される画面である。買い回りの順序が「XXマート JJ店」→「YYスーパー JJ店」であるため、この順序に整合するように、「XXマート JJ店」のリストが上に表示され、その下に「YYスーパー JJ店」のリストが表示されている。このようにルートに整合する順序でリストを表示させることで、ユーザにとって分かり易い表示を実現することができる。
ここで、上記のバランス優先ルートを例に挙げて、その計算方法について説明する。
限定ではなく例として、以下の情報を入力とする。
(I1)構築中買い物リスト情報
(I2)指定位置の情報
(I3)各々の店舗位置情報
入力された情報に基づき、限定ではなく例として、指定位置から設定距離以内の範囲(限定ではなく例として、半径1km以内の範囲)や、指定位置から徒歩で設定時間以内にユーザが移動可能な範囲(限定ではなく例として、徒歩10分圏内の範囲)を、ユーザが買い回り可能な範囲(以下、「買い回り可能範囲」と称する。)と判定する。そして、判定した買い回り可能範囲内に位置する店舗を、買い回り候補の店舗(以下、「買い回り候補店舗」と称する。)とする。
なお、買い回り可能範囲を定めるための情報(限定ではなく例として、上記の設定距離や設定時間など)を、端末20のユーザが設定可能としてもよい。つまり、どの程度の範囲を買い回り可能範囲とするかを、各々のユーザが自己の端末20で独自に設定可能としてもよい。
その後、買い回り候補店舗の組合せを求め、それら各々の組合せについて、限定ではなく例として、以下の2つの値に基づいて買い回りコストCを算出する。
(J1)構築中買い物リストに含まれる商品をその組合せに含まれる買い回り候補店舗の最安値で購入する場合の合計購入金額
(J2)指定位置を始点としてその組合せに含まれる買い回り候補店舗を徒歩で回るのに要する所要時間
(J2)の所要時間は、限定ではなく例として、動的計画法(限定ではなく例として、ダイクストラ法)等を用いて最小となる所要時間を算出するようにすることができる。
買い回りコストCを、限定ではなく例として、以下の式(1)のように定式化する。
買い回りコストC=合計購入金額+所要時間×時間コストパラメータ ・・・(1)
具体的に説明する。
限定ではなく例として、買い回り候補店舗として「店舗A」、「店舗B」、「店舗C」の3つの店舗が選定されたとする。また、この例では、指定位置から見て「店舗B」と「店舗C」とが同方向に位置しているものとする。
この場合、これら3つの店舗の組合せは、「店舗A」、「店舗B」、「店舗C」、「店舗A&店舗B」、「店舗B&店舗C」、「店舗A&店舗C」、「店舗A&店舗B&店舗C」の7通りとなる。この7通りの組合せについて、限定ではなく例として、以下のように合計購入金額と所要時間とが算出されたとする。
「店舗A」:合計購入金額「11,750円」、所要時間「7分」
「店舗B」:合計購入金額「12,210円」、所要時間「6分」
「店舗C」:合計購入金額「9,880円」、所要時間「10分」
「店舗A&店舗B」:合計購入金額「11,960円」、所要時間「18分」
「店舗B&店舗C」:合計購入金額「9,470円」、所要時間「11分」
「店舗A&店舗C」:合計購入金額「9,620円」、所要時間「24分」
「店舗A&店舗B&店舗C」:合計購入金額「9,390円」、所要時間「35分」
時間コストパラメータを、限定ではなく例として、所要時間1分につき50円の対価を見出す値として「50」として設定する。この場合、式(1)に従って買い回りコストCを算出すると、以下のように計算される。
「店舗A」:買い回りコストC「12100」
「店舗B」:買い回りコストC「12510」
「店舗C」:買い回りコストC「10380」
「店舗A&店舗B」:買い回りコストC「12860」
「店舗B&店舗C」:買い回りコストC「10020」
「店舗A&店舗C」:買い回りコストC「10820」
「店舗A&店舗B&店舗C」:買い回りコストC「11140」
各々の買い回り候補店舗の組合せについて算出した買い回りコストCの中から、買い回りコストCが最小となる買い回り候補店舗の組合せを求め、これを出力とする。上記の例では、買い回りコストCが最小となる買い回り候補店舗の組合せは「店舗B&店舗C」となる。その結果、バランス優先ルートの計算結果として「店舗B&店舗C」のルートが出力される。
なお、式(1)では、所要時間に時間コストパラメータを乗算したが、合計購入金額に金額コストパラメータを乗算して、同様の計算を行うようにしてもよい。
また、合計購入金額と所要時間とのそれぞれにコストパラメータを乗算し、(J1)と(J2)とを無次元化して買い回りコストCを算出するようにしてもよい。
概念的に説明すると、上記の例では、効率(時間効率、移動効率)を考えると、「店舗A」、「店舗B」、「店舗C」のうち指定位置から最も近い店舗が(J2)の所要時間が最小になる(上記の例では「店舗B」の「6分」)。しかし、構築中買い物リストに含まれる商品を「店舗B」で全て購入する場合に合計金額が最小となるとは限らない。このため、上記のように、所要時間と合計購入金額とを考慮して買い回りコストCを算出し、これが最小となる買い回り候補店舗の組合せを求める。
ここではバランス優先ルートを例示したが、価格優先ルートでは(J1)の値が最小となる買い回り候補店舗の組合せを求めればよい。つまり、合計購入金額を買い回りコストCとして用いて買い回り候補店舗の組合せを求めればよい。
また、効率優先ルートでは、(J2)の値が最小となる買い回り候補店舗の組合せを求めればよい。つまり、所要時間を買い回りコストCとして用いて買い回り候補店舗の組合せを求めればよい。
なお、ここまでルートを計算する手法の具体例を示したが、これはあくまでも例示であって、上記の手法に限定されるものではない。
また、商品の買い回りに限らず、サービスの買い回りについて、上記の内容を同様に適用してもよい。
また、商品とサービスとの組合せの買い回りについて、上記の内容を同様に適用してもよい。
また、ここではルートを計算して提案する例を示したが、これに限定されない。
ルートを計算して提案するのに代えて、またはこれに加えて、サーバ10の制御部11が、構築中買い物リスト情報に基づいて、限定ではなく例として、「店舗Aでは商品Xを購入し、店舗Bでは商品Yを購入し、・・・」といった、ルートや購入順序を示さない情報を端末20に送信するようにしてもよい。
また、上記の価格優先ルート、効率優先ルート、バランス優先ルートの3種類のルートのうちの少なくともいずれか1つのルートを表示するようにしてもよく、全てを表示させることは必須ではない。
また、上記の処理(計算)をサーバ10の制御部11が行うのではなく、処理に必要な情報を端末20がサーバ10から取得した上で、端末20の制御部21が行うようにしてもよい。
また、上記で説明したようなレシピの材料に限らず、ユーザによって任意に選択されて構築中買い物リストに追加された商品を対象として、上記の処理(計算)を行うようにしてもよい。
図4-6は、本変形例において各装置が実行する処理の流れの一例を示すフローチャートである。
図4-3のA220の後、端末20Aの制御部21は、入出力部23を介してユーザによって店舗を指定せずに商品を追加するための入力がなされたか否かを判定する(A405)。店舗を指定して商品を追加するための入力がなされたと判定したならば(A405:NO)、端末20Aの制御部21は、限定ではなく例として、図3-8のA310に処理を移す。
一方、店舗を指定せずに商品を追加するための入力がなされたと判定したならば(A405:YES)、端末20Aの制御部21は、A410に処理を進める。
A410では、図4-3のA410と同様に、限定ではなく例として、
(b1)店舗の指定なしでユーザによって選択された商品
(b2)ユーザによって選択されたレシピの材料
の少なくともいずれか一方に対応する商品の商品ID、購入予定数等を含む買い物リスト一括追加情報をサーバ10に送信するようにすることができる。
(b1)では、限定ではなく例として、図3-4左側の価格比較画面等において「よく買う商品」として表示された、店舗が関連付けられていない商品の中から1以上の商品が選択された場合に、買い物リスト一括追加情報をサーバ10に送信するようにすることができる。
なお、これに限定されるわけではなく、限定ではなく例として、図3-4中央や図3-4右側の価格比較画面等において店舗と関連付けて表示された商品に対応する買い物リスト追加アイコンIC31がタップされた場合に、その商品をその店舗のリストに含めるか否かをユーザに確認する情報を表示させるようにする。そして、その店舗のリストに含めることが選択されなかった場合、その商品を構築中買い物リストに含めるべく、買い物リスト一括追加情報をサーバ10に送信するようにするようにしてもよい。
A430の後、端末20Aの制御部21は、限定ではなく例として、ユーザによって買い回りルート計算を要求する入力がなされたことに基づいて、買い回りルート計算要求情報を、通信I/F22によってサーバ10に送信する(A431)。この一例は、図4-4左側の画面において「買い回り計算する」ボタンBT43がタップされたことに基づく。
通信I/F14によって端末20Aから買い回りルート計算要求情報を受信すると、サーバ10の制御部11は、買い回りルート計算処理を行う(S431)。具体的には、限定ではなく例として、ユーザに提案する1以上の種類の買い回りのルートについて、上記の計算を行う。そして、サーバ10の制御部11は、その計算結果を含む買い回りルート計算結果を、通信I/F14によって端末20Aに送信する(S433)。
通信I/F22によってサーバ10から買い回りルート計算結果を受信すると、端末20Aの制御部21は、受信した買い回りルート計算結果を表示部24に表示させる(A433)。この一例は、図4-4右側の画面に相当する。
次いで、端末20Aの制御部21は、ユーザによって選択された買い回りルートを含む買い回りルート選択情報を、通信I/F22によってサーバ10に送信する(A435)。
これを受けて、サーバ10の制御部11は、買い回りルートの詳細な情報を含む買い回りルート詳細情報を、通信I/F14によって端末20Aに送信する(S435)。そして、サーバ10の制御部11は、S440に処理を進める。
通信I/F22によってサーバ10から買い回りルート詳細情報を受信すると、端末20Aの制御部21は、受信した買い回りルート詳細情報を表示部24に表示させる(A437)。この一例は、図4-5左側の画面に相当する。
その後、端末20Aの制御部21は、ユーザによって買い回りルートを確定するための入力に基づいて、通信I/F22によって買い回りルート確定情報を、通信I/F22によってサーバ10に送信する(A439)。この一例は、図4-5中央の画面において「このルートにする」ボタンBT45がタップされたことに基づく。そして、端末20Aの制御部21は、A450に処理を進める。
本変形例は、対象端末20が、自己の端末20のユーザによってレシピ(限定ではなく、第1レシピの一例)が選択された場合、その材料を構築中買い物リスト(限定ではなく、リストの一例)に含める制御を制御部21によって行う。そして、対象端末20は、その構築中買い物リストに含まれる材料を購入する店舗に関する情報を表示部24に表示する構成を示している。
このような構成により得られる変形例の効果の一例として、端末のユーザによって第1レシピが選択されたことに基づいて第1レシピの材料をリストに含めた上で、そのリストに含まれる材料を購入する店舗に関する情報を、ユーザに知らせることができる。
また、この場合、構築中買い物リストに含まれる材料を購入する店舗に関する情報(限定ではなく、リストに含まれる材料を購入する店舗に関する情報の一例)は、構築中買い物リストに含まれる材料を店舗で購入するルート(経路)を地図画像上に表示する情報を含むようにすることができる。
このような構成により得られる変形例の効果の一例として、リストに含まれる材料を店舗で購入する経路を地図画像上に表示することで、どのような手順で材料を購入すればよいかをユーザが一見して把握可能となり、ユーザの利便性を向上させることができる。
また、本変形例は、複数の端末20と通信するサーバ10が、価格の情報を含むレシート情報(限定ではなく、店舗で購入された商品、またはサービスの金額に関する情報の一例)を、複数の端末20から通信I/F14によって受信する。また、サーバ10は、複数の端末20から送信されたレシート情報を記憶部15に記憶する。また、サーバ10は、対象端末20から、ユーザによって購入予定の商品またはサービスとして選択された複数の商品の情報、または複数のサービスの情報を、通信I/F14によって受信する。そして、サーバ10は、複数の端末20から受信したレシート情報に基づき、対象端末20から受信した情報に対応する複数の商品、または複数のサービスを購入する店舗に関する情報を、通信I/F14によって対象端末20に送信する構成を示している。
このような構成により得られる変形例の効果の一例として、複数端末から受信して記憶した、店舗で購入された商品、またはサービスの金額に関する情報に基づいて、複数の店舗、または複数のサービスを購入する店舗に関する情報を端末に送信して、端末のユーザに知らせることができる。
また、この場合、対象端末20から受信した情報に対応する複数の商品、または複数のサービスを購入する店舗に関する情報は、複数の商品、または複数のサービスを購入するルート(経路)に関する情報(限定ではなく、複数の商品、または複数のサービスを購入する経路に関する情報の一例)を含むようにすることができる。
このような構成により得られる変形例の効果の一例として、複数の商品、または複数のサービスを購入する経路に関する情報を端末に送信することで、どのような手順で複数の商品、または複数のサービスを購入すればよいかをユーザに伝えることができる。
<第4変形例(2)>
上記の実施例で説明した端末20のユーザに提案する1以上のルートの全部またはその一部のルートを細分化してもよい。
ユーザによっては、多くの店舗で買い回りをすることを面倒に感じ、なるべく少ない店舗で買い回りを行いたいと考えるような場合があり得る。
そこで、限定ではなく例として、前述した価格優先ルート、効率優先ルート、バランス優先ルート等のルートのうちの少なくともいずれか1つのルートを、
(R1)買い回り候補店舗の数を制限しないルート(上記の実施例と同様)
(R2)買い回り候補店舗の数をほどほどの数にするルート
(R3)買い回り候補店舗の数をなるべく少なくするルート
等の複数のルートに細分化する。そして、上記の3つのルートの中から1つのルートが選択された場合に、そのルートについて細分化されたルートを表示して提案するようにしてもよい。
(R2)のルートが選択された場合、サーバ10の制御部11は、限定ではなく例として、買い回り候補店舗の総数のうちの第1設定割合(限定ではなく例として3割~5割)の数を、買い回りを行う店舗の数(以下、「買い回り店舗数」と称する。)として算出する。そして、買い回り候補店舗のうち、算出した買い回り店舗数の全ての買い回り候補店舗の組合せを求め、商品を購入する場合の合計金額が最小となる組合せを求めるなどすることができる。
(R3)のルートが選択された場合、サーバ10の制御部11は、限定ではなく例として、買い回り候補店舗の総数のうちの第2設定割合(限定ではなく例として、6割~8割)の数を、買い回り店舗数として算出する。そして、買い回り候補店舗のうち、算出した買い回り店舗数の全ての買い回り候補店舗の組合せを求め、商品を購入する場合の合計金額が最小となる組合せを求めるなどすることができる。
また、ユーザによっては、商品のカテゴリ(食品、日用常備品、キッチン用品等)に応じて、買い回りする店舗を分けたいと考えるような場合があり得る。限定ではなく例として、食品は「スーパーマーケット」で購入するが、日用常備品やキッチン用品は「ドラッグストア」で購入したいと考えるような場合があり得る。
そこで、商品のカテゴリに応じたルートを提案するようにしてもよい。
この場合、限定ではなく例として、店舗登録データ154(図1-5)のその他登録情報に、店舗カテゴリ(スーパーマーケット、ドラッグストア、コンビニエンスストア等)を記憶させるようにする。
図4-7は、本変形例における商品価格管理データベース155の一例である商品価格管理データベース155Cのデータ構成例を示す図である。
各々の商品価格管理データには、限定ではなく例として、商品カテゴリが追加して記憶されている。
商品カテゴリには、サーバ10の制御部11が、商品識別コードや商品名等に基づいてカテゴリ分類を行うことで、その商品に対応する商品カテゴリ(食品、日用常備品、キッチン用品等)を記憶させるようにすることができる。
図4-8は、本変形例におけるアカウント管理データベース159の一例であるアカウント管理データベース159Bのデータ構成例を示す図である。
各々のアカウント管理データには、限定ではなく例として、カテゴリ関連付け設定データが追加して記憶されている。
カテゴリ関連付け設定データには、限定ではなく例として、商品カテゴリと、店舗カテゴリとが関連付けて記憶される。
限定ではなく例として、端末20のユーザが、買い物補助アプリケーションの不図示の設定画面等において、商品カテゴリと店舗カテゴリとの関連付けに関する設定を行うことができるようにする。そして、端末20の制御部21は、ユーザによって入力された商品カテゴリと店舗カテゴリとの関連付けの設定情報(以下、「カテゴリ関連付け設定情報」と称する。)をサーバ10に送信する。そして、サーバ10の制御部11は、受信したカテゴリ関連付け設定情報を、アカウント管理データベース159Bのうちの、その端末20のユーザのアプリケーションIDのアカウント管理データに、上記のカテゴリ関連付け設定データとして記憶させるようにすることができる。
この場合、サーバ10の制御部11は、図4-3または図4-6のS410のステップの買い物リスト一括処理において構築中買い物リストとなるリストを作成する際に、各々の商品と関連付けて、その商品の商品カテゴリを記憶させるようにする。
そして、サーバ10の制御部11は、図4-6のS431のステップにおいて買い回りのルートを計算する際に、アカウント管理データベース159Bのうち、その端末20のユーザのアカウント管理データに含まれるカテゴリ関連付け設定データを参照し、作成した構築中買い物リストに含まれる各々の商品について、その商品の商品カテゴリに対応する店舗カテゴリの店舗が買い回り候補店舗として選定されるように、前述したルートの計算を行うようにすることができる。
<第4変形例(3)>
一の端末20のユーザが作成した買い物リストを、他のユーザと共有することを可能としてもよい。
図4-9は、本変形例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。ここでは、図4-5右側に示したレシピの材料に対応する商品が店舗別に振り分けられた買い物リストに基づいて、買い物リストを共有する場合を例示する。
図4-9左側は、図4-5右側に対応する買い物リストの画面であるが、アプリ内位置表示領域の右部に、買い物リストを共有(シェア)するための共有アイコンIC41が設けられている。この共有アイコンIC41がタップされると、限定ではなく例として、図4-9中央のような表示がなされる。
具体的には、買い物リストの共有に関する情報である買い物リスト共有情報LS41が、画面中央部にポップアップ形式で表示されている。買い物リスト共有情報LS41には、限定ではなく例として、買い物リストに含まれる複数の店舗のリストの中から共有するリストをユーザに選択させるための情報と、共有をやめるための「キャンセル」ボタンBT47と、共有を実行するための「シェアする」ボタンBT48とが含まれる。
この例では、「XXマート JJ店」のリストと、「YYスーパー JJ店」のリストと、すべての店舗のリストとが共有する候補として表示され、この中から共有するリストを、ラジオボタンによってユーザが選択可能に構成されている。この例では、「YYスーパー JJ店」のリストが選択された状態が示されている。この状態で「シェアする」ボタンBT48がタップされると、限定ではなく例として、図4-9右側の画面が表示される。
具体的には、買い物リスト共有情報LS41の表示が消え、共有するユーザを選択するための共有ユーザ選択情報SU41が、画面下部からせり上がるように表示されている。
ここで、共有するユーザは、限定ではなく例として、メッセージングアプリケーションにおいて友だちとして登録されているユーザとすることができる。
なお、メッセージングアプリケーションにおいて構成されるグループに対して共有することができるようにしてもよい。
この場合、買い物補助アプリケーションは、前述した(A)~(D)の形態のうち、(B)~(D)のいずれかの形態を適用することができる。
この共有ユーザ選択情報SU41の中からリストを共有するユーザが選択されると、そのユーザの端末20に対して、限定ではなく例として、サーバ10を介してリスト情報が送信される。そして、そのリスト情報が、限定ではなく例として、以下の少なくともいずれかの画面に表示されるようにすることができる。
・そのユーザの端末20の買い物補助アプリケーションのおしらせ画面
・そのユーザの端末20のメッセージングアプリケーションのトークルーム画面
・そのユーザの端末20のメッセージングアプリケーションのタイムライン画面
共有されたリストは、限定ではなく例として、共有された全てのユーザ、または共有が許可された一部のユーザが、編集可能とすることができる。限定ではなく例として、不足している商品があった場合に、他のユーザがその商品をリストに追加したり、購入数が不足している場合に、他のユーザが購入数を増加させるなどすることができる。
なお、商品を削除したり、購入数を減少させることも可能としてもよい。
<第4変形例(4)>
端末20のユーザの過去の購入履歴から、買い物リストに商品を追加することを可能としてもよい。
図4-10は、本変形例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図4-10左側には、図1-10左側の画面で「利用レポートをみる」ボタンBT14がタップされたことに基づいて表示される利用レポート画面の一例を示している。
この利用レポート画面には、ユーザA.Aの過去の購入履歴に関する情報が、ユーザA.Aがサーバ10に登録したレシート情報に基づいて表示されている。ここでは、このレシート情報に基づいて端末20の表示部24に表示されるユーザA.Aの過去の購入履歴に基づいて、その購入履歴に含まれる商品をユーザA.Aが買い物リストに追加する場合を例示する。このようにすることで、追加された買い物リストに基づいて、ユーザが商品を購入することが可能となる。
図4-10左側の画面では、日時が新しいレシート情報から順に上から下に表示されている。つまり、レシート情報が追加されるごとに、追加されたレシート情報が最上部に表示されるように構成されている。
この例では、「8月22日(日)」に登録された「XXマート JJ店」のレシート情報RC41がユーザA.Aによってタップされて、その詳細な情報が表示された状態が示されている。具体的には、「XXマート JJ店」で購入した商品に関する情報として、「〇×ヨーグルト」の画像、その商品名、その商品価格(この例では「168円」)、「○○ドリンク」の画像、その商品名、その商品価格(この例では「231円」)といった、購入した複数の商品に関する情報が表示されており、その合計金額が「1,333円」であったことが示されている。また、各々の商品と関連付けて、買い物リスト追加アイコンIC31が表示されている。
この例では、ユーザA.Aが「○○ドリンク」を再び購入すべく、上記の「○○ドリンク」に関連付けて表示された買い物リスト追加アイコンIC31がユーザA.Aによってタップされた状態が示されている。この場合、限定ではなく例として、図4-10右側の買い物リスト画面が表示される。
限定ではなく例として、前述した図4-2の画面でユーザA.Aによって「YYスーパー JJ店」の買い物リストが作成済みであったことに基づき、この例では、図4-10左側の画面においてユーザA.Aによって選択された「○○ドリンク」が、作成済みの「YYスーパー JJ店」のリストに自動的に追加されて表示されている。具体的には、図4-2中央に示した「YYスーパー JJ店」のリストに含まれる「〇×ヨーグルト」の下に、上記の「○○ドリンク」が単品で追加して表示されている。「○○ドリンク」は、「YYスーパー JJ店」では単品の価格が「88円」であるため、「○○ドリンク」の価格として「88円」と表示されている。
なお、上記はあくまでも一例に過ぎず、これに限定されない。
上記の他にも、限定ではなく例として、ユーザによって買い物リストが未だ作成されていない場合であって、図1-10左側の画面で「利用レポートをみる」ボタンBT14がタップされたことに基づき表示される利用レポート画面から商品を買い物リストに追加する場合、ユーザによって選択された商品が構築中買い物リストに追加されるようにしてもよい。
また、図4-10左側の画面において、商品に関連付けられた買い物リスト追加アイコンIC31がタップされた場合、端末20が、店舗を選択するための情報(限定ではなく例として、店舗を選択するための画面や、店舗を選択するためのポップアップ表示・バルーン表示など)を表示する。そして、ユーザによって選択された店舗に対応する店舗別リストに商品が追加されるようにしてもよい。また、この場合、店舗の選択肢に構築中買い物リストを含め、これが選択された場合に、構築中買い物リストに商品が追加されるようにしてもよい。
また、前述したように、1つのアカウントについて、2つ以上の買い物リストを作成するようにすることも可能である。この場合、限定ではなく例として、購入履歴からユーザによって選択された商品を、作成済みの各々の買い物リストに追加するようにしてもよい。また、作成済みの2つ以上の買い物リストのうちの一部の買い物リストに選択的に商品を追加することができるようにしてもよい。
本変形例は、対象端末20が、自己の端末20のユーザの購入履歴に基づき、商品、またはサービスを買い物リスト(限定ではなく、リストの一例)に含める制御を制御部21によって行う。そして、対象端末20は、買い物リストに含まれる商品、またはサービスに関する情報を表示部24に表示する構成を示している。
このような構成により得られる変形例の効果の一例として、端末のユーザの購入履歴に基づいて、商品、またはサービスをリストに含めた上で、そのリストに含まれる商品、またはサービスに関する情報を表示して、ユーザに知らせることができる。
また、本変形例は、対象端末20が、自己の端末20のユーザの購入履歴に基づき買い物リストに含められた商品、またはサービスの、その買い物リストに対応する店舗(限定ではなく、第3店舗の一例)の価格情報(限定ではなく、第3店舗の商品の金額情報の一例)、または第3店舗のサービスの金額情報の一例)を含む金額情報を通信I/F22によって受信する。そして、対象端末20は、その金額情報を、対応する店舗に関連付けて表示部24に表示する構成を示している。
このような構成により得られる実施例の効果の一例として、端末のユーザの購入履歴に基づいて、第3店舗の商品の金額情報、または第3店舗のサービスの金額情報を含む第3金額情報を、第3店舗に関連付けてユーザに知らせることができる。
<第5実施例>
第5実施例は、商品の配送サービスに関する実施例である。
第5実施例に記載の内容は、他の各実施例や他の各変形例のいずれにも適用可能である。
また、既出の構成要素と同一の構成要素については同一の符号を付して、再度の説明を省略する。
本実施例では、商品の配送サービスを例示し、この配送サービスの事業者を「配送サービズ事業者」と称する。本実施例では、いわば買い物代行の形態で、買い物補助アプリケーションを利用してユーザが購入した店舗の商品を、配送サービスの配送員(人間)が各々の店舗からピッキングしていって、ユーザに届ける場合を例示する。配送員は、限定ではなく例として、自動車(トラック等を含む。)によって商品を配送するようにすることができる。
なお、買い物補助サービス事業者が配送サービス事業者となって、端末20のユーザによって購入された店舗の商品を配送するようにしてもよい。
<表示画面>
図5-1は、本実施例において端末20Aの表示部24に表示される買い物補助アプリケーションの画面の一例を示す図である。
図5-1左側は、地図画像が表示された買い物リスト画面の一例を示している。この例では、買い物リストに含まれる商品を、前述した「XXマート JJ店」で購入する場合の合計金額に関する情報と、前述した「YYスーパー JJ店」で購入する場合の合計金額に関する情報とが、それぞれ吹き出し内に表示されている。
また、この画面では、地図画像の表示領域の上部に、配送サービスを利用して商品を購入することをユーザに推奨する情報が表示されている。具体的には、トラックの画像および「配送サービスのオススメ」の文字とともに、配送サービスを利用して買い物リストに含まれる商品を購入する場合の合計金額と、配送サービスを利用するための「サービスを利用する」ボタンBT51とが表示されている。
この例では、「XXマート JJ店」で商品を購入する場合の合計金額が「11,399円」であり、「YYスーパー JJ店」で商品を購入する場合の合計金額が「10,531円」であることが表示によって示されている。
本実施例では、配送サービスを利用した配送料を、限定ではなく例として、一店舗あたりの金額(限定ではなく例として、一店舗回ったら「200円」や「210円」等)に基づいて決定するようにすることができる。
この場合、サーバ10は、限定ではなく例として、マークMK21によって示される指定位置から半径1km以内といった範囲に含まれる各々の店舗の商品の商品価格に基づき、買い物リストに含まれる各々の商品について、その商品の最安値の店舗を判定する。そして、サーバ10は、その判定結果に基づいて、各々の店舗について、その店舗で購入する商品と、その店舗で購入する商品の小計金額(合計金額)とを計算する。そして、サーバ10は、その計算結果と、商品の配送状況に関する情報とを端末20に送信して、端末20の表示部24に表示させる。
なお、この例では、サーバ10は配送料を考慮せずに計算を行う。
この例では、サーバ10による上記の計算によって、限定ではなく例として、「XXマート JJ店」と「YYスーパー JJ店」との他、「ZZマート KK店」と「YYスーパー KK店」とがサーバ10によって選定されたものとする。
「サービスを利用する」ボタンBT51がタップされ、必要な情報が入力されると、図5-1右側に示すような、買い物リストに含まれる商品の配送サービスに関する配送サービス画面が表示される。
この配送サービス画面では、地図画像の表示領域の下部に、配送料(この例では、4店舗で「840円」)が表示されている。また、サーバ10によって選定された上記の4つの店舗の各々について、その店舗で購入する商品の小計金額(合計金額)が、その店舗と関連付けて表示されている。
この例では、上記の4つの店舗の小計金額を合計した金額は「9,167円」となり、図5-1左側の画面に示した「XXマート JJ店」で商品を購入する場合の合計金額「11,399円」と、「YYスーパー JJ店」で商品を購入する場合の合計金額「10,531円」とのいずれと比較しても、金額が安くなっている。
なお、配送料「840円」を加算すると「10,007円」となるが、この例では、配送料を含めても、上記の2つの店舗のいずれと比較しても、金額が安くなっている。
図5-1右側の画面において、地図画像の表示領域の上部には「商品ピッキング中」の文字を含む情報が表示され、現在、配送員によって商品のピッキング中であることがユーザに報知される。また、商品のピッキングが完了した店舗については、その店舗と関連付けてチェックマークが表示され、商品のピッキングが完了した店舗がユーザに報知される。また、配送員(配送員の端末)の現在の位置情報が、この例ではトラックの画像によって表示されている。
なお、サーバ10が、配送員(配送員の端末)の位置情報、店舗位置情報、配送ルートの情報等に基づいて、配送員の現在の位置から、マークMK21によって示される指定位置に到達するまでの予想される所要時間を算出し、算出した所要時間に関する情報を端末20に送信するようにしてもよい。そして、端末20は、受信した所要時間に関する情報を表示部24に表示してもよい。限定ではなく例として、「あと何分で着きます」、「何時何分に着きます」といった情報を端末20の表示部24に表示するようにしてもよい。
なお、配送員に商品をピッキングさせる順序は、サーバ10がランダムに決定して配送員に伝えるようにしてもよい。
また、サーバ10が、配送員の出発地を始点とし、マークMK21によって示される指定位置を終点として、動的計画法(限定ではなく例として、ダイクストラ法)等に基づいて、どの経路で配送員が店舗に立ち寄れば最短経路となるかを計算し、その計算結果に基づいて、商品のピッキングの順序を配送員に伝えるようにしてもよい。
これらの場合、サーバ10は、商品のピッキングの順序を含む商品の配送に関する情報を、限定ではなく例として、配送員が所持する端末に送信するようにすることができる。そして、配送員は、自身が所持する端末の表示部に表示される情報に基づいて、商品をピッキングしていくようにすることができる。
なお、配送サービス事業者が、配送員(人間)によって商品を配送するようにするのではなく、ロボットを利用して商品を配送するようにしてもよい。
限定ではなく例として、遠隔操作(または自動操縦)により飛行する自律走行可能なドローンを用いて、配送サービス事業者が商品を配送するようにしてもよい。
この場合、1つの方法として、サーバ10からドローンの操作員の端末に送信されたルートの情報に基づき、操作員がドローンを遠隔操作し、ドローンを各々の店舗に向かわせることができる。具体的には、限定ではなく例として、出発地からドローンが離陸し、最初の店舗で着陸する。そして、その店舗の従業員、またはあらかじめ配備された配送サービスの従業員の手で、ドローンに最初の店舗の商品を積み込む。その後、ドローンが離陸し、次の店舗に向かう。これを繰り返して、最終的に全ての店舗の商品をユーザに届ける。
なお、ドローンが備える通信装置が、サーバ10から送信されたルートの情報を受信し、ドローンが備える制御部が自動操縦の制御を行って、上記と同様の手順で商品を配送するようにしてもよい。
また、買い物補助アプリケーションから、各々の店舗の事業者が提供するネットスーパーに遷移することを可能とする。そして、遷移先のネットスーパーでユーザが商品を購入することによって、その商品がユーザに配送されるようにしてもよい。
なお、サーバ10は、上記のように、指定位置から所定範囲に含まれる各々の店舗の商品価格の情報に基づき、買い物リストに含まれる各々の商品について、その商品価格が最安値である店舗を選択して、合計金額を端末20のユーザに提示することができる。
しかし、上記のように一店舗あたりの金額に基づいて配送料を設定する場合、配送料を考慮せずに計算を行うと、商品を購入する店舗の数が多くなり、その結果として、配送料を含む合計金額が割高となってしまう可能性がある。
そこで、サーバ10が、限定ではなく例として、配送料を考慮して、配送料を含む合計金額が最小となるように、商品を購入する店舗を決定するようにしてもよい。
なお、配送料を含む合計金額が最小とならない店舗の組合せについても、サーバ10が同様に計算を行い、その計算結果を配送サービスのおすすめとして、端末20に送信して表示させるようにしてもよい。ユーザによっては、最安値ではなくとも自身で買い物に行かずに済むという考え方で、配送サービスを利用する場合があり得るためである。
また、上記の実施例とは異なり、配送料を店舗の数に関わらず一律の金額として設定するようにしてもよい。
また、即時配送や即日配送の場合は、配送料を割り増しするようにしてもよい。
<その他>
(1)電子レシート
前述したように、紙のレシートに代えて、電子レシートによって特定されるレシート情報をサーバ10が解析・集計するようにしてもよい。
この場合、電子レシートを取得した端末20が、その電子レシートをサーバ10に送信するようにしてもよいし、その電子レシートを発行した店舗のサーバ等の装置が、電子レシートをサーバ10に送信するようにしてもよい。
(2)カテゴリ
第4変形例で説明したように、商品やサービスにカテゴリを設け、商品カテゴリごとやサービスカテゴリごとに、対応する商品やサービスの価格情報等を表示するようにしてもよい。この場合は、前述したように、店舗登録データ154に店舗カテゴリを記憶させるとともに、図4-7に示した商品価格管理データベース155Cや、図4-8に示したアカウント管理データベース159B等を適用し、これらのデータに基づいて、上記の実施例で説明した処理と同様の処理を行うようにすることができる。
(3)最安値となる価格の提案
限定ではなく例として、買い物補助サービス事業者が小売店となって買い物補助アプリケーション内でユーザによって選択された商品を販売することを可能としてもよい。
買い物補助サービス事業者は、上記の実施例で説明したように、サーバ10が端末20(そののユーザ)から収集したレシート情報に基づいて、各々の店舗の商品価格の情報を取得することができる。そこで、限定ではなく例として、サーバ10は、限定ではなく例として図5-1左側の画面に示したように、買い物リスト単位で、指定位置から設定範囲に含まれる店舗で商品を購入する場合の合計金額の情報を各々の店舗と関連付けて端末20に送信して表示させつつ、それら各々の店舗で購入する場合の合計金額よりも買い物補助サービス事業者が安く提供できる合計金額を算出する。いわば、収集した各々の店舗の商品価格のデータをビッグデータとして用いて、買い物補助サービス事業者が有利に販売できる金額を算出する。そして、算出した金額の情報を端末20に送信し、端末20の表示部24に表示させることで、より安い金額で買い物補助サービス事業者から商品を購入することができることを端末20のユーザに提案する。
なお、買い物リスト単位ではなく、商品単位で提案を行うようにしてもよい。
また、この場合、商品の配送も買い物補助サービス事業者が行うようにし、限定ではなく例として、配送料を他の配送サービス事業者よりも安く設定したり、購入された商品の合計金額に応じて配送料を割り引いたり無料にするなどすることで、配送料を含めても、他の配送サービスを利用する場合よりも合計金額が安くなるようにしてもよい。
(4)商品の価格に関する情報の集計
第1実施例では、レシートを利用する以外にも、商品、またはサービスの金額に関する情報をユーザが端末20に自身で入力するなどしてサーバ10に送信し、サーバ10がこれを集計する手法を示した。
この手法は、上記の各々の実施例および各々の変形例のいずれに対しても同様に適用可能である。