[1.予約システムの構成]
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、サービス及び商品の少なくとも何れか一方である提供対象の一例として、美容サービスを提供する場所をユーザが予約するためのシステムに対して、本発明を適用した場合の実施形態である。本実施形態において、このような場所を、美容サロンという。美容サロンの例として、美容院、ヘアサロン、ネイルサロン、まつげサロン、エステティックサロン、リラクゼーションサロン、マッサージサロン等が挙げられる。個々の美容サロンを、店舗ともいう。また、美容サロンのスタッフが美容サービスを提供することを、施術という。また、実際に提供される個々の美容サービスを、メニューともいう。
先ず、本実施形態に係る予約システムSの構成及び機能概要について、図1乃至図3を用いて説明する。
図1は、本実施形態に係る予約システムSの概要構成の一例を示す図である。図1に示すように、予約システムSは、予約サーバ1と、複数の店舗端末2と、複数のユーザ端末3とを備える。予約サーバ1と各店舗端末2と各ユーザ端末3とは、ネットワークNWを介して互いに接続される。ネットワークNWは、例えばインターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
予約サーバ1は、複数の美容サロンそれぞれに関す情報をユーザに提供する。例えば、予約サーバ1は、ユーザ端末3からの要求に応じて、HTML(HyperText Markup Language)文書又はその他のフォーマットの情報を、ユーザ端末3へ送信する。提供される情報は、例えば美容サロンの検索結果、美容サロンの紹介、提供されるメニューに関する情報等を含んでもよい。また、予約サーバ1は、ユーザ端末3からの要求に応じて、美容サロンを予約する処理を実行する。
各店舗端末2は、美容サロンに設置される端末装置である。各店舗端末2は、美容サロンのスタッフにより利用される。店舗端末2の例として、パーソナルコンピュータ、ノートパソコン、タブレット式コンピュータ等が挙げられる。店舗端末2は、例えば予約サーバ1にアクセスして、その店舗端末2対応する美容サロンの予約状況を表示する。美容サロンのスタッフにより、店舗端末2に対して顧客のチェックインやチェックアウトの入力が可能であってもよい。チェックインとは、顧客が美容サロンを利用するための手続きをすることをいう。チェックインは、例えば顧客が美容サロンに来店したときに行われてもよいし、顧客がこれから施術を受けるときに行われてもよい。チェックインがこれらのうち何れかの手続きであるかは、美容サロンごとに決められてもよい。チェックアウトは、顧客が美容サロンの利用を終えるための手続きをすることをいう。チェックアウトは、施術が終わったときに行われてもよいし、顧客が料金を決済するときに行われてもよい。チェックアウトがこれらのうち何れかの手続きであるかは、美容サロンごとに決められてもよい。複数の美容サロンのうち、少なくとも一のヘアサロンには、一又は複数のミラーディスプレイ21が更に設置されてもよい。ミラーディスプレイ21は、鏡として利用可能であるとともに、ヘアスタイルに関連する情報等を表示可能なディスプレイ端末である。ミラーディスプレイ21は、例えば有線又は無線により、店舗端末2と接続されてもよい。
各ユーザ端末3は、予約システムSを利用するユーザにより利用される携帯用の端末装置である。ユーザ端末3の例として、スマートフォン、タブレット式コンピュータ等の携帯情報端末、携帯電話機、PDA(Personal Digital Assistant)等が挙げられる。各ユーザ端末3には、予約システムS専用のアプリケーションがインストールされてもよい。ユーザ端末3は、専用アプリケーションに従って予約サーバ1にアクセスすることに基づいて、美容サロンに関する情報を表示したり、美容サロンを予約するための画面を表示したりする。
以上説明した構成の予約システムSにおいて、予約サーバ1は、特定のタイミングで特定の条件を満たす美容サロンをユーザに推奨する(レコメンドする)ための処理を実行する。具体的に、予約サーバ1は、ユーザが予約した美容サロンにそのユーザが到着してから、その美容サロンでそのユーザに対する施術が終了する予定の時刻までの間に、その施術終了後にユーザが訪れて利用可能な美容サロンを推奨する処理を実行する。
図2は、美容サロンの推奨例を示す図である。図2に示すように、ユーザ端末3−1を所持するユーザU1は、ユーザ端末3−1を操作することにより、ヘアサロンSL1を予約する(ステップS1)。その後、ユーザU1は、予約した施術予定日にヘアサロンSL1を訪れる。そこで、ユーザU1のチェックインが行われる(ステップS2)。ヘアサロンSL1以外に、ネイルサロンSL2、SL3及びSL4があるとする。ネイルサロンSL2は、ヘアサロンSL1における施術終了時刻以降は全て予約で埋まっている。ヘアサロンSL1からネイルサロンSL3までの距離を考慮すると、ヘアサロンSL1における施術が終了した後にユーザU1がネイルサロンSL3へ移動したとしても、ユーザU1は、ネイルサロンSL3の営業時間内にネイルサロンSL3に到着しない。ヘアサロンSL1における施術終了後にユーザU1がネイルサロンSL4に行った場合、ネイルサロンSL4は、予約で埋まっていない時間がある。従って、ネイルサロンSL2〜SL4のうち、ネイルサロンSL4の利用が可能である。そこで、予約サーバ1は、例えばヘアサロンSL1におけるユーザU1に対する施術中に、ネイルサロンSL4を推奨するための推奨場所通知を、ユーザ端末3−1へ送信する(ステップS3)。推奨場所通知は、例えばプッシュ通知であってもよいし、電子メールで送信されてもよい。推奨場所通知を受信したユーザ端末3−1は、バイブレーション又は呼び出し音の出力により、推奨場所通知の受信を知らせる。ユーザU1は、ユーザ端末3−1を操作して、推奨場所通知を表示させる。ユーザU1は、表示された推奨場所通知を選択することに基づいて、ネイルサロンSL4を予約する(ステップS4)。施術終了後、ユーザU1は、ネイルサロンSL4に訪れてチェックインを行う。
図3は、美容サロンの推奨のタイミングの一例を示す図である。図3に示すように、時刻T1は、ヘアサロンSL1のチェックイン時刻である。或いは、時刻T1は、ユーザU1が予約した施術の開始予定時刻であってもよい。時刻T2は、ヘアサロンSL1における施術終了予定時刻である。ネイルサロンSL4においては、時刻T3から時刻T6までに間、予約の空きがある。ヘアサロンSL1における施術が終了してからユーザU1がネイルサロンSL4へ移動する場合、時刻T4までには或る程度の余裕をもってユーザU1はネイルサロンSL4に到着することができるものとする。時刻T4からユーザU1がネイルサロンSL4で施術を受けると仮定した場合、その施術は時刻T5に終了する。時刻T4から時刻T5までの時間帯について、ヘアサロンSL1の利用の予約が可能である。この場合において、予約サーバ1は、時刻T1から時刻T2までの間に、ネイルサロンSL4を推奨するための推奨場所通知を送信すればよい。
美容サロンでの施術の間や施術の開始を待っている間、ユーザは手持ちぶさたになる場合が多い。美容サロンでの施術により、ユーザが綺麗になっていくにつれて、又は綺麗になることを想像することで、ユーザの気分は高揚していくかもしれない。そのようなとき、ユーザは、別の美容サロンで更に綺麗になりたいと考えるかもしれない。上述した推奨場所通知により、この時間を利用して、ユーザは、現在利用している美容サロンでの施術が終わった後で利用可能な美容サロンを確認することができる。また、ユーザは、この時間を利用して、利用可能な美容サロンを予約することができる。更に、ユーザは、現在利用している美容サロンでの施術が終わった後で利用可能な他の美容サロンを、そのユーザ自身が検索する必要がない。
[2.予約サーバの構成]
次に、予約サーバ1の構成について、図4乃至図6を用いて説明する。図4は、本実施形態に係る予約サーバ1の概要構成の一例を示すブロック図である。図4に示すように、予約サーバ1は、システム制御部11と、システムバス12と、入出力インターフェース13と、記憶部14と、通信部15と、を備えている。システム制御部11と入出力インターフェース13とは、システムバス12を介して接続されている。
システム制御部11は、CPU(Central Processing Unit)11a、ROM(Read Only Memory)11b、RAM(Random Access Memory)11c等により構成されている。
入出力インターフェース13は、記憶部14及び通信部15とシステム制御部11との間のインターフェース処理を行う。
記憶部14は、例えば、ハードディスクドライブ等により構成されている。この記憶部14には、会員DB14a、店舗DB14b、メニューDB14c、スタッフDB14d、お気に入りDB14e、相性DB14f、予約情報DB14g、予約タイムテーブルDB14h等のデータベースが記憶されている。「DB」は、データベースの略語である。
図5及び図6は、データベースに記憶される内容の例を示す図である。会員DB14aには、予約システムSのユーザに関する会員情報が、ユーザごとに記憶されている。具体的に、会員DB14aには、会員情報として、ユーザID、氏名、性別、生年月日、電話番号、電子メールアドレス、住所等の情報が、互いに関連付けて記憶される。ユーザIDは、ユーザを識別するための識別情報である。
店舗DB14bには、美容サロンに関する店舗情報が、美容サロンごとに記憶されている。具体的に、店舗DB14bには、店舗ID、店舗名、店舗カテゴリID、電話番号、住所、定休日、営業時間、店舗画像、店舗説明、施術設備数等の情報が、互いに関連付けて記憶される。店舗IDは、美容サロンを識別するための識別情報である。店舗カテゴリIDは、店舗IDにより示される美容サロンのカテゴリを識別するための識別情報である。美容サロンは、その美容サロンにより主に提供される美容サービスの種類に基づいて分類される。美容サロンのカテゴリの例として、ヘアサロン(美容院を含む)、ネイルサロン、まつげサロン、エステティックサロン、マッサージサロン(リラクゼーションサロンを含む)等が挙げられる。定休日及び営業時間は、店舗IDにより示される美容サロンが何時美容サービスを提供可能であるかを示す。店舗画像は、美容サロンを紹介するための画像である。施術設備数は、美容サービスの施術を受けるために顧客が利用する設備(例えば部屋、ベッド、座席等)の総数である。美容サロンは、同一時間帯に最大で施術設備数に相当する数の美容サービスを提供することができる。
メニューDB14cには、美容サロンで提供される美容サービスのメニューに関する情報が、美容サロンごとに記憶される。具体的に、メニューDB14cは、店舗ID、及び1又は複数のメニュー情報が、互いに関連付けて記憶される。各メニュー情報は、店舗IDにより示される美容サロンの一のメニューに関する情報である。具体的に、メニュー情報は、メニューID、メニュー名、メニューカテゴリID、所要時間、料金、メニュー説明、同時提供可能数等の情報を含む。メニューIDは、メニューを識別するための識別情報である。メニューカテゴリIDは、メニューIDにより示されるメニューのカテゴリを識別するための識別情報である。ヘアサロンで提供されるメニューのカテゴリの例として、カット、パーマ、カラーリング、トリートメント等が挙げられる。ネイルサロンで提供されるメニューのカテゴリの例として、爪装飾、ネイルケア等が挙げられる。エステティックサロンで提供されるメニューのカテゴリの例として、脱毛、痩身マッサージ、微弱電流マッサージ等が挙げられる。マッサージサロンで提供されるメニューのカテゴリの例として、フェイシャルマッサージ、フットマッサージ、足つぼマッサージ、全身マッサージ等が挙げられる。なお、エステティックサロンとフェイシャルマッサージとでは、提供されるサービスに重複が見られる場合もある。所要時間は、メニューIDにより示されるメニューの施術に要する時間である。同時提供可能数は、同一時間帯に最大で何人の顧客に体して、メニューIDにより示されるメニューの施術が可能であるかを示す。同時提供可能数は、施術に用いられる設備の数や器具(例えば脱毛器等)の数等に基づいて定められてもよい。
スタッフDB14dには、美容サロンで働くスタッフに関する情報が、美容サロンごとに記憶される。スタッフDB14dに情報が記憶されるスタッフは、美容サロンで提供される美容サービスの主な施術者である。例えば美容サロンの予約の際に、ユーザが、施術者として指名可能なスタッフについて、スタッフDB14dに情報が記憶されてもよい。ヘアサロンの場合、ヘアスタイリストの情報がスタッフDB14dに記憶される一方で、ヘアスタイリストのアシスタント、洗髪を行うスタッフ、床掃除を行うスタッフ等に関する情報は記憶されなくてもよい。具体的に、スタッフDB14dには、店舗ID、及び1又は複数のスタッフ情報が、互いに関連付けて記憶される。各スタッフ情報は、店舗IDにより示される美容サロンの一のスタッフに関する情報である。具体的に、スタッフ情報は、スタッフID、スタッフ名、施術可能メニューリスト、勤務スケジュール等が、互いに関連付けて記憶される。スタッフIDは、スタッフを識別する識別情報である。施術可能メニューリストは、スタッフIDにより示されるスタッフが施術可能なメニューのメニューIDのリストである。勤務スケジュールは、スタッフIDにより示されるスタッフの勤務が予定される日及び時間帯を示す。
お気に入りDB14eには、ユーザによりお気に入りに追加された美容サロン又はスタッフに関するお気に入り情報が、追加された美容サロン又はスタッフごとに記憶される。具体的に、お気に入りDB14eには、ユーザID、及び店舗ID又はスタッフIDが、互いに関連付けて記憶される。ユーザIDは、お気に入りを追加したユーザを示す。店舗ID又はスタッフIDは、お気に入りとして追加された美容サロン又はスタッフを示す。
相性DB14fには、ユーザが或る美容サービスを受けた後に受けると、その美容サービスとの相性が悪い他の美容サービスを示す悪相性情報が、相性が悪い美容サービスの組み合わせごとに記憶される。相性が悪いサービスとは、例えば、或るサービスを受けることによりそのサービスからユーザが得る効果を減ずる可能性があるサービスであってもよい。具体的に、相性DB14fには、悪相性情報として、前サービス情報及び後サービス情報を含む。前サービス情報は、ユーザが先に受けるサービスを示す。後サービス情報は、前サービス情報により示されるサービスを受けた後に受けると、前サービス情報により示されるサービスを受けることによりユーザが得る効果を減ずる可能性があるサービスを示す。前サービス情報及び後サービス情報のそれぞれは、サービスを示す店舗カテゴリID又はメニューカテゴリIDを含む。ユーザが得る効果の例として、整えられた髪型、綺麗になった爪、痩身、健康増進等が挙げられる。相性が悪い美容サービスの例として、ヘアサロンの後のマッサージサロンが挙げられる。ヘアサロンでは、通常顧客の髪型を整えるためのサービスが提供される。一方、マッサージサロンでは、一般的に顧客が寝た状態でマッサージが行われる。マッサージサロンでユーザが寝ることにより、ヘアサロンで整えられた髪型が乱れる可能性がある。例えば、マッサージサロンにおいて顧客が椅子に座った状態で受けられるカテゴリのマッサージのメニューがあれば、そのメニューについては、ヘアサロンとの相性が悪いとはいえない。
予約情報DB14gには、美容サロンの予約に関する予約情報が、予約が行われるごとに記憶される。予約情報DB14gには、各ユーザによる美容サロンの予約の履歴が記憶されているともいうことができる。具体的に、予約情報DB14gには、予約情報として、予約番号、予約者ID、予約店舗ID、1又は複数の予約メニューID、指名有無フラグ、指名スタッフID、予定日、開始予定時刻、終了予定時刻、チェックイン時刻、チェックアウト時刻、通知有無フラグ等の情報が、互いに関連付けて記憶される。予約番号は、予約を識別するための識別番号である。予約者IDは、予約者のユーザIDである。予約店舗IDは、予約された美容サロンの店舗IDである。予約メニューIDは、予約されたメニューのメニューIDである。指名有無フラグは、施術するスタッフを、予約者が指名したか否かを示す。指名スタッフIDは、指名されたスタッフのスタッフIDである。予定日は、予約された施術が予定される日付を示す。開始予定時刻は、予約された施術の開始が予定される時刻である。終了予定時刻は、予約された施術の終了が予定される時刻である。開始予定時刻と終了予定時刻との間には、予約されたメニューの施術の所要時間分の差がある。複数のメニューが予約された場合、複数のメニューの施術の所要時間の合計分、開始予定時刻と終了予定時刻との間に差がある。チェックイン時刻は、予約者のチェックインが行われた時刻である。チェックアウト時刻は、予約者のチェックアウトが行われた時刻である。予約時にチェックイン時刻及びチェックアウト時刻は設定されない。チェックイン時刻及びチェックアウト時刻は、チェックインが行われたとき及びチェックアウトが行われたときにそれぞれ予約情報に追加される。通知有無フラグは、予約情報により示される予約について、推奨場所通知が既に送信されたか否かを示す。
予約タイムテーブルDB14hには、各美容サロンにおいて施術設備数に相当する数の設備それぞれについて、各日付における予約状況示す予約タイムテーブルが記憶される。予約タイムテーブルは、予約枠ごとに、予約枠情報を含む。予約枠は、予約可能な対象を示す。予約枠は、例えばサービスの提供に用いられる設備と時間帯との組み合わせであってもよい。予約枠の時間帯の長さは予め定められている(例えば、10分、15分、30分等)。具体的に、予約タイムテーブルDB14hは、店舗ID、設備番号、日付、及び複数の予約枠情報が、店舗と設備との組み合わせごとに記憶される。店舗ID、設備番号及び日付は、予約タイムテーブルが対応する店舗、設備及び日付を示す。予約枠情報は、開始時刻、予約有無フラグ、予約番号等を含む。開始時刻は、対応する予約枠の時間帯が開始する時刻である。予約有無フラグは、対応する予約枠が予約済みであるか又は空いているかを示す。予約番号は、対応する予約枠が予約されている場合に、その予約に関する予約情報を示す。なお、予約枠は、スタッフと時間帯との組み合わせ、又はメニューと時間帯との組み合わせであってもよい。予約枠が何を示すかに応じて、予約タイムテーブルDB14hの構成も変わる。
記憶部14には、更に、オペレーティングシステム、DBMS(Database Management System)、サーバプログラム等の各種プログラムが記憶されている。サーバプログラムは、予約システムSに関する各種処理をシステム制御部11に実行させるプログラムである。サーバプログラムは、例えば、他の装置からネットワークNWを介して取得されるようにしてもよいし、磁気テープ、光ディスク、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
通信部15は、例えばネットワークアダプタ等により構成されている。通信部15は、ネットワークNWを介して店舗端末2やユーザ端末3と接続し、これらの装置との通信状態を制御する。
[3.予約サーバのシステム制御部の機能概要]
次に、図7乃至図9を用いて、予約サーバ1のシステム制御部11の機能概要について説明する。図7は、本実施形態に係る予約サーバ1のシステム制御部11の機能ブロックの一例を示す図である。システム制御部11は、CPU11aが、サーバプログラムに含まれる各種プログラムコードを読み出し実行することにより、図7に示すように、終了予定時刻取得部111、場所情報取得部112、お気に入り取得部113、推奨場所特定部114、推奨場所通知部115、予約内容選択画面表示制御部116、予約部117等として機能する。
終了予定時刻取得部111は、或るサービスの施術を受けるために推奨先のユーザにより予約された美容サロンにおけるそのユーザに対するそのサービスの提供の終了予定時刻を取得する。予約が行われると、予約情報DB14gには、施術の開始予定時刻と終了予定時刻とが記憶される。記憶される終了予定時刻は、開始予定時刻から、ユーザにより予約されたメニューの所要時間後の時刻である。終了予定時刻取得部111は、予約情報DB14gから、対応する予約についての終了予定時刻を取得してもよい。この終了予定時刻後に利用可能な美容サロンが、推奨されることになる。また、推奨場所通知は、この終了予定時刻が経過する前に行われることになる。
終了予定時刻取得部111は、推奨先のユーザにより予約された美容サロンにおける予約されたサービスの提供終了時刻に影響を与える不確定要素を示す不確定要素情報に基づいて、取得された終了予定時刻を変更してもよい。実際、予定されていた時刻には施術が終わらない場合がある。また、予定されていた時刻よりも早く施術が終わる場合もある。実際に施術が終わる時刻は、予約時には確定していない事項に影響される場合がある。サービスの提供終了時刻に応じて、その後に利用可能な美容サロンが変わる場合がある。
例えば、終了予定時刻取得部111は、不確定要素情報として、予約された美容サロンにおける顧客の混雑状況を示す情報を取得してもよい。混雑状況の例として、推奨先のユーザの施術を担当するスタッフが同一時間帯に何人の顧客に対応するかが挙げられる。例えば、ヘアサロンにおいては、ヘアスタイリストが、予約された時間帯が互いに重複する複数の顧客に対応する場合がある。例えば、或る顧客の髪をカットした後、その顧客の髪を他のスタッフがあらっている間、そのスタイリストは他の顧客の髪をカットする。その後、そのスタイリストは、元の顧客の髪をセットする。スタッフが同一時間帯に対応する顧客の人数が多いほど、施術の終了が予定よりも遅延する可能性が高くなり、また遅延する時間も長くなる傾向がある。そこで、終了予定時刻取得部111は、推奨先のユーザの施術を担当するスタッフが同一時間帯に対応する顧客の人数に応じて、施術の終了予定時刻を、元の終了予定時刻よりも遅くしてもよい。スタッフが同一時間帯に複数の顧客に対応可能であるか否や、同一時間帯に最大に何人の顧客に対応可能であるかについては、店舗のカテゴリごと、メニューのカテゴリごと、美容サロンごと又はスタッフごとに予め定められてもよい。
終了予定時刻取得部111は、不確定要素情報として、予約された美容サロンに、推奨先のユーザがチェックインした時刻を取得してもよい。ユーザが施術の開始予定時刻よりも遅れて美容サロンに到着した場合、又は美容サロンが混雑していること等の何らかの事情で施術の開始が遅れた場合、施術の終了も遅延する蓋然性がある。また、ユーザが施術の開始予定時刻よりも早く美容サロンに到着した場合であって、開始予定時刻よりも早く施術を可能である場合、その施術の終了が早まる蓋然性がある。そこで、終了予定時刻取得部111は、チェックイン時刻に応じて、終了予定時刻を変更してもよい。例えば、終了予定時刻取得部111は、チェックイン時刻に、予約された施術の所要時間を加算することにより、変更後の終了予定時刻を計算してもよい。
チェックインの方法は様々考えられる。例えば、美容サロンのスタッフが、店舗端末2に対して、ユーザがチェックインしたことを、予約に関連付けて入力してもよい。また例えば、ユーザが、予約システムSにおいて利用可能な電子マネーカードやポイントカードをスタッフに提示したり、予約システムSの専用アプリケーションにより、ユーザIDを示すバーコードや二次元コードをユーザ端末3−1に表示させてスタッフに提示したりしてもよい。スタッフは、店舗端末2に備えられるカメラやスキャナ等で、カードの情報やユーザIDを店舗端末2に読み込ませることにより、チェックインが行われる。予約サーバ1において、カードの情報とユーザIDとが紐付けられていれば、カードの情報から、チェックインしたユーザの特定が可能である。或いは、スタッフが施術を開始するとき、スタッフが、施術が行われる場所のミラーディスプレイ21に、チェックインを入力してもよい。また例えば、ユーザが、ミラーディスプレイ21に備えられるカメラやスキャナ等で、カードの情報やユーザIDをミラーディスプレイ21に読み込ませることにより、チェックインが行われてもよい。チェックインが行われると、店舗端末2又はミラーディスプレイ21は、チェックイン通知を予約サーバ1へ送信する。システム制御部11は、チェックイン通知を受信した時刻を、チェックイン時刻として予約情報DB14gに記憶させる。
或いは、ユーザ端末3の位置に基づいて、自動的にチェックインが行われてもよい。例えば、各ユーザ端末3は、そのユーザ端末3の位置を示す位置情報を取得する機能を有してもよい。例えば、GPS(Global Positioning System)等の衛星測位システムを利用して、位置情報として経緯度が計算されてもよい。ユーザ端末3は、定期的に位置情報を計算して、その位置情報を予約サーバ1へ送信してもよい。予約サーバ1は、受信された位置情報と予約された美容サロンの住所とに基づいて、ユーザ端末3と美容サロンとの間の距離を計算してもよい。予約サーバ1は、計算された距離が所定距離未満である場合、ユーザが美容サロンに到着したと判定して、チェックイン時刻を設定してもよい。或いは、少なくとも一の美容サロン内にビーコンが設置されてもよい。このビーコンは、そのビーコンが設置された美容サロンの店舗IDを含む信号を連続的に又は断続的に送信する通信装置であってもよい。ビーコンからの信号が到達する範囲は比較的に狭い。例えば、信号が到達する範囲は、美容サロン内に限定されてもよいし、美容サロンの周囲までに限定されてもよい。ユーザ端末3は、ビーコンから信号を受信すると、チェックイン通知を予約サーバ1へ送信してもよい。或いは、ユーザが専用アプリケーションに対して、チェックインの操作を行ってもよい。このチェックインの操作は、ユーザ端末3と予約された美容サロンとの間の距離が所定距離未満である間である場合にのみ、又はユーザ端末3がビーコンから信号を受信している間にのみ可能であってもよい。ユーザ端末3は、ユーザからの入力に応じて、チェックイン通知を予約サーバ1へ送信してもよい。
終了予定時刻取得部111は、不確定要素情報として、推奨先のユーザに対して提供されるメニューの変更、追加及び削除の少なくとも何れか一つであって、予約された美容サロンにユーザが到着後にそのユーザとその美容サロンとの間で合意された変更、追加及び削除の少なくとも何れか一つを示す情報であってもよい。ユーザは、美容サロンに到着してからメニューの変更、追加又は削除を依頼したり、施術が始まってから、メニューの追加又は削除を依頼したりする場合がある。施術のメニューが変われば、施術が終了する時刻も変わる。美容サロンのスタッフは、提供されるメニューの変更、追加又は削除を店舗端末2に入力する。これに応じて、終了予定時刻取得部111は、変更、追加又は削除後のメニューの施術の所要時間を計算し、この所要時間に基づいて、終了予定時刻を変更する。
場所情報取得部112は、記憶部14から、美容サロンに関する情報である提供場所情報を取得する。具体的に、場所情報取得部112は、提供場所情報の一つとして、美容サロンの位置を示す位置情報を取得する。この位置情報は、例えば美容サロンの住所又は経緯度等であってもよい。
また、場所情報取得部112は、提供場所情報として、美容サロンによるサービスの提供予定を示す予定情報を取得してもよい。この予定情報は、美容サロンで顧客が何時サービスを受けられるかを示す。予定情報は、例えば営業時間や定休日を示してもよいし、予約状況を示してもよい。本実施形態においては、基本的に予約が必要な美容サロンによるサービスの提供予定を特定するため、場所情報取得部112は、予約タイムテーブル及び予約情報の少なくとも何れか一方を取得してもよい。
更に、場所情報取得部112は、提供場所情報として、美容サロンにより提供されるサービスに係わるカテゴリを示すカテゴリ情報を取得してもよい。このカテゴリ情報は、店舗カテゴリID及びメニューカテゴリIDの少なくとも何れか一方を含んでもよい。
お気に入り取得部113は、推奨先のユーザがお気に入りに追加したスタッフを示すお気に入り情報を、お気に入りDB14eから取得する。
推奨場所特定部114は、場所情報取得部112により記取得された提供場所情報に基づいて、複数の美容サロンのうち、終了予定時刻取得部111により取得された終了予定時刻後に、推奨先のユーザが訪れて利用可能な美容サロンを特定する。ここで、推奨場所特定部114は、ユーザが施術を受けた当日中にそのユーザが訪れることが可能な美容サロンを特定する。
例えば、推奨場所特定部114は、提供場所情報に含まれる位置情報に基づいて、推奨先のユーザが現在いる美容サロンから所定距離以内に位置する美容サロンを抽出してもよい。また、推奨場所特定部114は、推奨先のユーザが現在いる美容サロンから各美容サロンへの到着予想時刻を決定してもよい。そして、推奨場所特定部114は、提供場所情報に含まれる予約タイムテーブルや予約情報に基づいて、到着予想時刻に何れかのメニューを予約可能な空き時間がある美容サロンを、利用可能な美容サロンとして、抽出された美容サロンの中から特定してもよい。例えば、推奨場所特定部114は、終了予定時刻から所定時間後の時刻を、到着予想時刻に決定してもよい。推奨場所特定部114は、終了予定時刻から所定時間後に予約可能な空き時間がある美容サロンを、利用可能な美容サロンとして特定してもよい。この所定時間は、現在の美容サロンから所定距離以内に位置する美容サロンに移動するのに十分な時間として予め設定されてもよい。
或いは、推奨場所特定部114は、ユーザが現在いる美容サロンから別の各美容サロンへの移動時間に基づいて、到着予想時刻を決定してもよい。例えば、記憶部14には、更に地図DB、時刻表DB等のデータベースが記憶される。地図DBには、所定地域(例えば日本)内における各道路の位置及び種類や、道路の接続関係を示す地図情報が記憶される。時刻表DBには、鉄道等の交通機関における各路線の時刻表を示す時刻表情報が記憶される。推奨場所特定部114は、地図DB及び時刻表DB等に基づいて、ダイクストラ法等の経路探索アルゴリズムを用いて、美容サロン間の移動経路を探索する。そして、推奨場所特定部114は、探索された移動経路を移動に要する時間を計算する。推奨場所特定部114は、予約サーバ1とは別の所定のサーバ装置に、移動時間の計算を要求してもよい。推奨場所特定部114は、終了予定時刻から、計算された移動時間後の時刻を、到着予想時刻に決定してもよい。そして、終了予定時刻から、計算された移動時間後に、終了予定時刻から移動時間後に予約可能な空き時間がある美容サロンを、利用可能な美容サロンとして特定してもよい。このとき、推奨場所特定部114は、所定の移動時間内で到着可能な美容サロンのみを特定してもよい。
なお、到着予想時刻丁度には空いていなくても、その後、比較的短い所定の待ち時間(例えば、10分未満、30分未満等)でユーザが施術を受けることが可能である美容サロンは、利用可能な美容サロンとして特定されてもよい。
お気に入り取得部113によりお気に入り情報が取得されている場合、推奨場所特定部114は、このお気に入り情報、予約タイムテーブル及び予約情報に基づいて、ユーザがお気に入りのスタッフを指名して予約可能な美容サロンを、利用可能な美容サロンとして優先的に特定してもよい。予約タイムテーブル及び予約情報は、美容サロンの予約状況を示すとともに、スタッフの指名状況も示す。
終了予定時刻取得部111により不確定要素情報に基づいて終了予定時刻が変更された場合、推奨場所特定部114は、変更された終了予定時刻後に利用可能な美容サロンを特定してもよい。前述したように、何らかの不確定要素により、施術の終了が、予定よりも遅れたり早まったりする場合がある。当初予定されていた終了時刻に合わせて、利用可能な美容サロンを予約サーバ1がユーザに推奨し、ユーザのその美容サロンを予約したとしても、施術の終了が予定よりも遅れると、予約された時刻までにユーザがその美容サロンに到着することができずに、予約がキャンセルされてしまう場合がある。さりとて、施術が終了した後にユーザが予約を行おうとする場合、施術開始直前の予約となる。そのため、予約の空き時間がある美容サロンが少なくなり、ユーザの希望に添った美容サロンを予約することが難しくなる。これに対して、不確定要素情報に基づいて変更された終了予定時刻を用いることで、たとえ施術中であっても、施術後に利用可能な蓋然性がある美容サロンをユーザが予約することができる。
場所情報取得部112により、店舗カテゴリID及びメニューカテゴリIDの少なくとも何れか一方であるカテゴリ情報が取得された場合、推奨場所特定部114は、カテゴリ情報に基づいて、利用可能な美容サロンの中でも推奨する美容サロンを特定してもよい。
例えば、推奨場所特定部114は、予約された美容サロンでサービスを受けることにより、推奨先のユーザが得る効果を減ずる可能性があるサービスのカテゴリとは異なるカテゴリのサービスを提供する美容サロンを、推奨する美容サロンとして特定してもよい。すなわち、現在ユーザが受けているサービスと相性が悪いサービスは、推奨対象から除外される。具体的に、推奨場所特定部114は、相性DB14fに、予約された美容サロンでユーザが受けるサービスのカテゴリを示す前サービス情報が記憶されているとき、その前サービス情報に関連付けられた後サービス情報に示されるカテゴリのサービスを提供する美容サロンを、推奨する美容サロンから除外してもよい。相性DB14fの説明においても述べたように、前に受けたサービスと相性が悪いサービスをユーザが受けると、前に受けたサービスにより得られた効果が小さくなったり、台無しになったりする。そのため、推奨場所特定部114は、得られた効果に悪影響を与えないサービスを提供する美容サロンを特定する。
図8は、サービス間の相性の例を示す図である。前述したように、マッサージサロンでは一般的に顧客が寝た状態でマッサージを受ける。そのため、ヘアサロンの後のマッサージサロンは、ヘアサロンで整えられた髪型が台無しになる可能性がある。そのため、ヘアサロンの後のマッサージサロンは推奨されない。一方、マッサージサロンでは、顧客は、筋肉がほぐれる等の効果を得ることができる。ヘアサロンで提供されるサービスは、そのような効果に影響を与えないので、マッサージサロンの後のヘアサロンは推奨されてもよい。また、ネイルサロンでは、顧客は座った状態でサービスを受け、且つスタッフは顧客の頭部には触れない。従って、顧客の髪型に影響を与えないので、ヘアサロンの後のネイルサロンは推奨されてもよい。
以上においては、店舗のカテゴリ同士の相性について説明した。しかしながら、メニューのカテゴリ同士の相性や、店舗のカテゴリとメニューのカテゴリとの間の相性も存在する場合がある。こうした相性についても、相性DB14fに定義される。
推奨場所特定部114は、推奨先のユーザによる美容サロンの予約履歴を取得してもよい。予約情報DB14gに記憶された、推奨先のユーザに関する予約情報が、予約履歴に相当する。推奨場所特定部114は、カテゴリ情報及び予約履歴に基づいて、利用可能な美容サロンの中でも推奨する美容サロンを特定してもよい。例えば、推奨場所特定部114は、利用先のユーザが予約した美容サロンの利用日(すなわち今日)から所定日数前までの間にユーザが受けたサービスのカテゴリとは異なるカテゴリのサービスを提供する美容サロンを、推奨する美容サロンとして特定してもよい。すなわち、所定日数前までにユーザが受けたサービスと同一又は似たようなサービスのみを提供する美容サロンは、推奨対象から除外される。ユーザは、或るサービスを受けた後、一定期間同じようなサービスを受けないことが一般的である。そのため、推奨場所特定部114は、そのようなサービスを、推奨する美容サロンから除外してもよい。同一カテゴリのサービスを提供する美容サロンを推奨しない期間の日数は予め定められてもよい。例えば、店舗カテゴリごと又はメニューカテゴリごとに、推奨しない期間の日数が予め定められてもよい。或いは、推奨場所特定部114が、推奨先のユーザの予約履歴に基づいて、店舗カテゴリごと又はメニューカテゴリごとに、推奨しない期間の日数を決定してもよい。例えば、推奨場所特定部114は、推奨先のユーザによるサービスの利用間隔に応じて、推奨しない期間の日数を決定してもよい。
推奨場所特定部114は、推奨先ユーザの予約履歴及び美容サロンの位置情報に基づいて、利用可能な美容サロンの中でも推奨する美容サロンを特定してもよい。例えば、推奨場所特定部114は、推奨先のユーザが過去に予約したことがある美容サロンのみを、推奨する美容サロンとして特定してもよい。或いは、推奨場所特定部114は、推奨先のユーザが過去に予約したことがある美容サロンの場所から所定距離以内にある美容サロンのみを、推奨する美容サロンとして特定してもよい。予約履歴は、これまでのユーザの行動範囲を示しているといえる。その行動範囲内にある美容サロンを推奨することで、ユーザがその美容サロンを予約する可能性が高くなる。
推奨場所通知部115は、推奨場所特定部114により特定された美容サロンを通知するための推奨場所通知を、予約された美容サロンに推奨先のユーザが到着してから、終了予定時刻取得部111により取得された終了予定時刻までの間に、推奨先のユーザのユーザ端末3へ送信する。例えば、推奨場所通知部115は、予約された美容サロンにおける推奨ユーザによるチェックインが行われてから終了予定時刻までの間に、推奨場所通知を送信してもよい。前述したように、チェックインは、ユーザが美容サロンに来店したとき、又は来店後に施術が開始されるときに行われる。或いは、推奨場所通知部115は、施術の開始予定時刻から終了予定時刻までの間に、推奨場所通知を送信してもよい。
推奨場所通知部115は、終了予定時刻よりも早いタイミングであって、チェックイン又は開始予定時刻から所定時間後に、推奨場所通知を送信してもよい。チェックイン又は開始予定時刻から何分経過したら推奨場所通知を送信するかについては、予約システムS内で共通に予め定められてもよいし、推奨先のユーザが施術を受けている店舗のカテゴリごと、又はその施術のメニューカテゴリごとに予め定められてもよい。或いは、推奨場所通知部115が、何分経過したら推奨場所通知を送信するかを、推奨先のユーザが受けている施術の所要時間に応じて決定してもよい。
推奨場所通知を送信するタイミングが到来する前に、推奨先のユーザが、予約した美容サロンでチェックアウトを行った場合、推奨場所通知部115は、推奨場所通知を送信しなくてもよい。
チェックアウトの方法は様々考えられ、それらはチェックインの方法と対応してもよい。例えば、美容サロンのスタッフが、店舗端末2に対して、チェックアウトの入力操作を行ってもよい。或いは、スタッフ又はユーザが、ミラーディスプレイ21を操作することにより、チェックアウトを入力してもよい。店舗端末2又はミラーディスプレイ21は、チェックアウト通知を予約サーバ1へ送信する。或いは、予約サーバ1は、ユーザ端末3と美容サロンとの間の距離が所定距離以上離れた場合、ユーザはチェックアウトしたと判定してもよい。或いは、美容サロンに設置されたビーコンからの信号がユーザ端末3に到達しなくなったとき、ユーザ端末3は予約サーバ1へチェックアウト通知を送信してもよい。或いは、ユーザが専用アプリケーションに対して、チェックアウトの操作を行ってもよい。これに応じて、ユーザ端末3がチェックアウト通知を送信してもよい。チェックアウト通知を受信し又はユーザはチェックアウトしたと判定した場合、予約サーバ1は、チェックアウト時刻を予約情報に追加する。
推奨場所通知部115は、推奨場所通知として、推奨場所特定部114により特定された、予約された美容サロンにおけるサービスの提供終了予定時刻後に推奨先のユーザが訪れて利用可能な美容サロンを示す通知情報を送信してもよい。この通知情報は、例えば美容サロンの名称を少なくとも含んでもよい。通知情報は、美容サロンの住所、最寄り駅、美容サロンの紹介、予約可能な開始時刻、最寄り駅、推奨されるメニューの少なくとも何れか一つを更に含んでもよい。この予約可能な開始時刻は、現在の施術の終了予定時刻後から推奨する美容サロンに向かった場合にユーザが間に合う時刻である。図9(a)は、ユーザ端末3における推奨場所通知100の表示例を示す図である。例えば、推奨場所通知100は、メッセージ110、美容サロン名120、最寄り駅130、予約可能開始時刻140、スタッフ名150、美容サロン紹介160等を含む。メッセージ110は、例えば「美容サロンXXXの後に行ける予約可能なサロンはこちら」等であってもよい。ユーザのお気に入りのスタッフが指名可能である場合にのみ、そのスタッフについてスタッフ名150が表示されてもよい。推奨する美容サロンが複数存在する場合、推奨場所通知部115は、美容サロンごとに推奨場所通知を送信してもよい。
推奨場所通知部115は、推奨場所通知として、ユーザがその推奨場所通知を選択することに応じて、ユーザ端末3により専用アプリケーションを起動させて、予約された美容サロンにおけるサービスの提供終了予定時刻後に推奨先のユーザが訪れて利用可能な美容サロン又は利用可能な美容サロンの一覧をユーザ端末3により表示させるための情報を送信してもよい。この場合、推奨場所通知として、現在の施術の終了予定時刻後に利用可能な美容サロンが存在する旨のメッセージのみが表示されてもよい。
予約内容選択画面表示制御部116は、推奨場所通知部115により送信された推奨場所通知がユーザにより選択されたことに基づいて、推奨場所特定部114により特定された美容サロンを予約するために予約内容を入力するための予約内容選択画面を、ユーザ端末3に表示させる。この場合の予約内容選択画面には、予約される時間として、予約可能な時間が予め設定されている。予約可能な時間として、施術の開始時刻が設定されてもよい。図9(b)は、予約内容選択画面200の表示例を示す図である。ユーザが図9(a)に示す推奨場所通知を選択すると、ユーザ端末3は、専用アプリケーションを起動して、予約内容選択画面200を表示する。予約内容選択画面200は、例えばメニュー欄210、スタッフ欄220、日時欄230、次ボタン240等を含む。メニュー欄210には、予約されるメニューとして、通常はユーザにより選択されたメニューの名称が表示される。メニュー欄210を操作することにより、ユーザは、予約可能なメニューの中から所望のメニューを選択することができる。予約可能な空き時間が存在する限りにおいて、ユーザは複数のメニューを選択することができる。図9(b)に示すメニュー欄210には、何れのメニューも選択されていないことが表示されている。スタッフ欄220には、通常は、指名するスタッフとしてユーザにより選択されたスタッフの名称が表示される。スタッフ欄220を操作することにより、ユーザは、指名可能なスタッフの中から所望のスタッフを選択することができる。推奨場所特定部114により、ユーザのお気に入りのスタッフを指名して予約可能な美容サロンが特定された場合、スタッフ欄220には、そのお気に入りのスタッフの名称が表示される。それ以外の場合、スタッフ欄220には、「指名なし」が表示される。図9(b)に示すスタッフ欄220には、スタッフ「HANAKO」が選択されていることが表示される。日付欄230には、予約される日時として、通常はユーザにより選択された日付及び開始時刻が表示される。日付欄230を操作することにより、ユーザは、予約可能な日時の中から、予約する日時を選択することができる。推奨場所通知が選択されたことに基づいて予約内容選択画面200が表示された場合、日付欄230には、推奨先のユーザが現在いる美容サロンでの施術の終了後に、推奨する美容サロンへユーザが訪れて利用するために予約可能な日(すなわち今日)及び開始時刻が表示される。予約可能な時間が予め設定されているので、ユーザは自ら時間を入力する必要がない。図9(b)に示す日時欄230には、2020年3月25日14時30分が選択されていることが表示されている。
推奨場所通知の送信後、又は推奨場所通知がユーザに選択されることに応じて専用アプリケーションが起動された後、ユーザの操作に基づいて、各美容サロンへの到着予想時刻が、当初の到着予想時刻よりも遅らされてもよい。推奨場所特定部114は、遅らされた到着予想時刻に基づいて、ユーザが予約可能な美容サロンを再度特定してもよい。そして、推奨場所通知部115は、特定された美容サロン又は特定された美容サロンの一覧を、専用アプリケーションに表示させてもよい。ユーザは、現在受けている施術の後、例えば寄り道などをした後に次の美容サロンに行きたい場合がある。そうした事情によりユーザが遅れる場合であっても、利用可能な美容サロンを通知することができる。到着予想時刻がどれだけの時間遅らされるかは、予め設定されてもよいし、ユーザにより選択可能であってもよい。
予約部117は、推奨場所通知部115により送信された推奨場所通知を受信したユーザ端末3に対するユーザの操作に基づいて、推奨場所特定部114により特定された美容サロンの予約処理を実行する。例えば、図9(b)に示す予約内容選択画面200において、ユーザが次ボタン240を押下すると、ユーザ端末3は、氏名、電話番号、電子メールアドレス等のユーザの情報を入力するための顧客情報入力画面を表示する。この画面に対して、ユーザは、必要な情報を入力する。ユーザが予約システムSにログイン中である場合、ユーザ端末4が、そのユーザのユーザIDに関連付けて会員DB14aに記憶されている情報を、予約サーバ1から取得して自動的に入力してもよい。そして、ユーザは、予約内容を確認した後、予約ボタンを押下する。これに応じて、ユーザ端末3は、予約内容選択画面200において選択された予約内容、推奨された美容サロンの店舗ID、推奨先のユーザのユーザID等を含む予約要求を、予約サーバ1へ送信する。予約部117は、ユーザ端末3から受信された予約要求に含まれる情報に基づいて、予約情報を生成する。例えば、予約部117は、新しい予約番号を生成する。また、予約部117は、予約者IDを、予約要求に含まれるユーザIDに設定する。また、予約部117は、予約店舗IDを、予約要求に含まれる店舗IDに設定する。また、予約部117は、予約メニューIDを、メニュー欄210で選択されたメニューのメニューIDに設定する。また、予約部117は、スタッフ欄220の選択内容に応じて、氏名有無フラグ及び指名スタッフIDを設定する。また、予約部117は、予定日を、日時欄230で選択された日付に設定する。また、予約部117は、開始予定時刻を、日時欄230で選択された開始時刻に設定する。また、予約部117は、メニュー欄210で選択されたメニューの所要時間を、メニューDB14cから取得する。そして、予約部117は、開始予定時刻に所要時間を加算することにより、終了旅程時刻を設定する。また、予約部117は、通知有無フラグを「未通知」に設定する。予約部117は、生成された予約情報を予約情報DB14gに記憶させる。また、予約部117は、生成された予約情報に基づいて、予約タイムテーブルDB14hを更新する。例えば、予約部117は、予約店舗ID及び予定日に対応する店舗ID及び日付に関連付けられた予約枠情報の中から、開始予定時刻から終了予定時刻までの時間帯に相当する一又は時間的に連続する複数の予約枠情報であって、予約有無フラグが「空き」である予約枠情報を特定する。予約部117は、特定された各予約枠情報の予約有無フラグを「予約済み」に変更する。また、予約部117は、特定された各予約枠情報の予約番号を、生成された予約番号に設定する。
[4.予約システムの動作]
次に、予約システムSの動作について、図10及び図11を用いて説明する。図10は、本実施形態に係る予約システムSの動作の一例を示すシーケンス図である。
ユーザは、専用アプリケーションを起動して、予約したい美容サロンを検索する。ユーザは、メニュー、スタッフ及び日時を選択して、予約ボタンを押下する。これに応じて、ユーザ端末3は、図10に示すように、予約通知を予約サーバ1へ送信する(ステップS11)。予約要求を受信した予約サーバ1の予約部117は、予約情報を生成して、この予約情報を予約情報DB14gに記憶させる。また、予約部117は、予約タイムテーブルDB14hを更新する(ステップS12)。次いで、予約部117は、予約された美容サロンの店舗端末2へ、予約通知を送信する。予約通知は、予約内容や予約したユーザに関する情報を含む。予約部117は、例えば予約された美容サロン宛ての電子メールで、予約通知を送信してもよい。店舗端末2が予約通知を受信すると、予約された美容サロンのスタッフは、予約内容を確認する。
その後、ユーザは、予約された施術の予定日に、予約した美容サロンへ行く。ユーザが美容サロンに到着したとき、又は到着後にユーザに対する施術が開始されるとき、美容サロンのスタッフはチェックインの操作を行う。店舗端末2は、このチェックインの操作を検出すると(ステップS14)、チェックイン通知を予約サーバ1へ送信する(ステップS15)。チェックイン通知は、例えばチェックインしたユーザのユーザID及びチェックインが行われた美容サロンの店舗IDを含む。チェックイン通知を受信した予約サーバ1の終了予定時刻取得部111は、予約情報DB14gにおいて、今日が予定日である予約情報の中から、チェックインしたユーザのユーザID及びチェックインが行われた美容サロンの店舗IDを、予約者ID及び予約店舗IDとして含む予約情報を検索する。終了予定時刻取得部111は、検索された予約情報に、現在時刻を、チェックイン時刻として追加する。また、終了予定時刻取得部111は、予約情報に含まれる予約メニューIDにより示されるメニューの所要時間を、メニューDB14cから取得する。終了予定時刻取得部111は、チェックイン時刻に所要時間を加算して得られる時刻で、予約情報に含まれる終了予定時刻を変更する(ステップS16)。ユーザが美容サロンに到着後、例えばユーザがスタッフと話して、メニューの変更、追加又は削除を行うとする。スタッフは、店舗端末2を操作して、メニューの変更、追加又は削除を入力する。これに応じて、終了予定時刻取得部111は、予約情報及び予約タイムテーブルを変更するとともに、メニューの施術の所要時間を再取得する。終了予定時刻取得部111は、チェックイン時刻に、再取得された所要時間を加算して得られる時刻で、予約情報に含まれる終了予定時刻を変更する。
チェックインから所定時間経過後であり、且つ変更後の終了予定時刻が経過する前に、推奨場所特定部114は、現在いる美容サロンでの施術の終了予定時刻後にユーザが訪れて利用可能な美容サロンであって、推奨する美容サロンを特定する(ステップS17)。こ。推奨場所通知部115は、特定された美容サロンを通知するための推奨場所通知を、ユーザ端末3へ送信する(ステップS18)。
ユーザ端末3が推奨場所通知を受信した後、ユーザは、ユーザ端末3に推奨場所通知を表示させる。ユーザは、推奨された美容サロンを予約したいと考えると、その推奨場所通知を選択する(ステップS19)。これに応じて、ユーザ端末3は、専用アプリケーションを起動する(ステップS20)。そして、ユーザ端末3は、予約サーバ1へ予約内容選択用情報要求を送信する(ステップS21)。これに応じて、予約内容選択画面表示制御部116は、予約内容選択用情報をユーザ端末3へ送信する(ステップS22)。予約内容選択用情報は、推奨する美容サロンについて、ユーザが選択可能なメニューのメニューIDの一覧、スタッフの選択状態、予約可能な日時を含む。選択可能なメニューは、例えば推奨する美容サロンの空き時間で施術可能なメニューであって、ユーザが現在受けているサービスとの相性問題もなく、且つ所定日数前までにユーザが受けたメニューのカテゴリとは異なるカテゴリのメニューであってもよい。ユーザのお気に入りのスタッフを指名可能である場合、スタッフの選択状態は、そのスタッフのスタッフIDを含む。それ以外において、スタッフの選択状態は、選択なしに設定される。予約可能な日時は、今日の日付と、ユーザが現在いる美容サロンでの施術の終了予定時刻後に予約可な開始時刻とを含む。これらの情報は、例えばステップS17で特定される。予約内容選択用情報を受信したユーザ端末3は、予約内容選択画面200を表示する(ステップS23)。このとき、ユーザ端末3は、予約内容選択用情報に従って、メニュー欄210、スタッフ欄220及び日時欄230を設定する。ユーザは、メニュー及びスタッフを適宜選択し、その他必要な情報を入力して、予約ボタンを押下する。これに応じて、ユーザ端末3は、予約要求を予約サーバ1へ送信する(ステップS24)。
図11は、本実施形態に係る予約サーバ1のシステム制御部11による推奨場所特定処理の一例を示すフローチャートである。推奨場所特定処理は、図10に示すステップS17及びS18に対応する。例えば、システム制御部11は、定期的に(例えば、5分ごと、10分ごと等)、推奨場所特定処理を実行してもよい。
図11に示すように、推奨場所通知部115は、予約情報DB14gに基づいて、今日を施術の予定日として美容サロンを予約しているユーザの中から、既にチェックインしているユーザを一人選択する(ステップS101)。次いで、終了予定時刻取得部111は、選択されたユーザの予約情報を、予約情報DB14gから取得する(ステップS102)。次いで、推奨場所通知部115は、取得された予約情報に基づいて、選択されたユーザの通知有無フラグが「未通知」であるか否かを判定する(ステップS103)。通知有無フラグが「未通知」である場合(ステップS103:YES)、推奨場所通知部115は、取得された予約情報に基づいて、選択されたユーザがチェックアウト済みであるか否かを判定する(ステップS104)。
ユーザがチェックアウト済みではない場合(ステップS104:NO)、終了予定時刻取得部111は、取得された予約情報に基づいて、選択されたユーザがスタッフを指名しているか否かを判定する(ステップS105)。ユーザがスタッフを指名している場合(ステップS105:YES)、終了予定時刻取得部111は、予約情報DB14gに基づいて、選択されたユーザが指名しているスタッフを指名している顧客であって、施術の開始予定時刻から終了予定時刻までの施術予定時間が、選択されたユーザの施術予定時間と重複する顧客が、選択されたユーザ以外に存在するか否かを判定する(ステップS106)。すなわち、終了予定時刻取得部111は、選択されたユーザが指名しているスタッフが、同一時間帯に複数の顧客に対応するか否かを判定する。そのスタッフが同一時間帯に複数の顧客に対応する場合(ステップS106:YES)、終了予定時刻取得部111は、そのスタッフが同一時間帯に対応する顧客の人数に応じて、選択されたユーザの施術の終了予定時刻を変更する(ステップS107)。例えば、終了予定時刻取得部111は、顧客の人数が多いほど、終了予定時刻を遅らせてもよい。
ステップS107の後、ユーザがスタッフを指名していない場合(ステップS105:NO)、又はそのスタッフが同一時間帯に複数の顧客に対応しない場合(ステップS106:NO)、推奨場所通知部115は、終了予定時刻を経過したか否かを判定する(ステップS108)、終了予定時刻が経過していない場合(ステップS108:NO)、推奨場所通知部115は、選択されたユーザによるチェックインから所定時間が経過したか否かを判定する(ステップS109)。
チェックインから所定時間が経過した場合(ステップS109:YES)、場所情報取得部112は、選択されたユーザがチェックインしている美容サロンの店舗情報を、店舗DB14bから取得する(ステップS110)。次いで、推奨場所特定部114は、店舗DB14bに記憶されている各美容サロンの住所に基づいて、ユーザがチェックインしている美容サロンから他の各美容サロンまでの距離を計算する。そして、推奨場所特定部114は、ユーザがチェックインしている美容サロンから所定距離以内に位置する美容サロンを、推奨する美容サロンの候補として抽出する(ステップS111)。
次いで、推奨場所特定部114は、抽出された美容サロンから、選択されたユーザがチェックインしている美容サロンがそのユーザに提供しているサービスとの相性が悪いサービスを提供する美容サロンを、推奨する美容サロンの候補から除外する(ステップS112)。例えば、場所情報取得部112は、選択されたユーザの予約情報から、予約店舗ID及び予約メニューIDを取得する。場所情報取得部112は、予約店舗IDに対応する店舗カテゴリIDを、ユーザがチェックインしている美容サロン店舗情報から取得する。また、場所情報取得部112は、予約メニューIDに対応するメニューカテゴリIDを、メニューDB14cから取得する。推奨場所特定部114は、相性DB14fから、取得された店舗カテゴリID又はメニューカテゴリIDに合致する前サービス情報を含む悪相性情報を検索する。推奨場所特定部114は、推奨する美容サロンの候補それぞれについて、その美容サロンの店舗カテゴリIDを、店舗DB14bから取得し、その美容サロンが提供する各メニューのメニューカテゴリIDを、メニューDB14cから取得する。推奨場所特定部114は、何れかの美容サロンの店舗カテゴリIDが、検索された悪相性情報の何れかに含まれる後サービス情報に合致する場合、その美容サロンを、推奨する美容サロンの候補から除外する。推奨場所特定部114は、何れかの美容サロンが提供する何れかのメニューのメニューカテゴリIDが、検索された悪相性情報の何れかに含まれる後サービス情報に合致する場合、そのメニューを、推奨するメニューの候補から除外する。推奨場所特定部114は、何れかの美容サロンが提供する全てのメニューが除外対象である場合、その美容サロンを、推奨する美容サロンの候補から除外する。
次いで、推奨場所特定部114は、所定日数前までにユーザが利用したサービスのカテゴリと同じカテゴリのサービスを提供する美容サロンを、推奨する美容サロンの候補から除外する(ステップS113)。例えば、推奨場所特定部114は、選択されたユーザの予約情報のうち、施術の予定日が、今日から所定日数前までの期間内にある予約情報を、予約情報DB14gから検索する。推奨場所特定部114は、検索された予約情報のそれぞれから、予約メニューIDを取得する。場所情報取得部112は、予約メニューIDに対応するメニューカテゴリIDを、所定日数前までにユーザが利用したサービスのメニューを示す情報として、メニューDB14cから取得する。推奨場所特定部114は、何れかの美容サロンが提供する何れかのメニューのメニューカテゴリIDが、所定日数前までにユーザが利用した何れかのサービスのメニューのメニューカテゴリIDと一致する場合、そのメニューを、推奨するメニューの候補から除外する。推奨場所特定部114は、何れかの美容サロンが提供する全てのメニューが除外対象である場合、その美容サロンを、推奨する美容サロンの候補から除外する。
次いで、推奨場所特定部114は、選択されたユーザがお気に入りのスタッフを示すスタッフ情報を、お気に入りDB14eから取得する(ステップSS114)。
次いで、推奨場所特定部114は、選択されたユーザが受けている施術の終了予定時刻から所定時間経過後の時間の予約が可能な美容サロンを、推奨する美容サロンの候補から検索する(ステップS115)。例えば、推奨する美容サロンの候補の中に、ユーザのお気に入りのスタッフがいる美容サロンが存在する場合、推奨場所特定部114は、該当する美容サロンの候補それぞれについて、ステップS112及びS113の何れにおいても除外されていないメニューであって、お気に入りのスタッフが対応可能なメニューを、スタッフDB14dに基づいて特定する。推奨場所特定部114は、特定されたメニューの所要時間を、店舗DB14bから取得する。推奨場所特定部114は、取得された所要時間のうち、例えば最短の所要時間を特定する。推奨場所特定部114は、お気に入りのスタッフの勤務スケジュールをスタッフDB14dから取得するとともに、お気に入りのスタッフの指名状況を、予約情報DB14gから特定する。推奨場所特定部114は、該当する美容サロンの候補の今日の予約タイムテーブルを参照して、終了予定時刻から所定時間経過以後で、予約されていない空き時間を特定する。推奨場所特定部114は、空き時間のうち、お気に入りのスタッフの勤務時間内であって、且つそのスタッフが指名されていない時間を、そのスタッフを指名可能な時間として特定する。なお、そのスタッフが同一時間帯に複数の顧客に対応可能である場合、選択されたユーザも含めた顧客数が、同一時間帯に対応可能な最大人数を越えない限り、選択されたユーザはそのスタッフを指名可能である。推奨場所特定部114は、お気に入りのスタッフを指名可能な時間が、最短のメニューの所要時間以上連続する場合、対応する美容サロンを、予約可能な美容サロンとして特定する。このとき、推奨場所特定部114は、予約する開始時刻を、お気に入りのスタッフを指名可能な時間の開始時刻に設定する。また、推奨場所特定部114は、指名するスタッフを、お気に入りのスタッフに設定する。
ユーザのお気に入りのスタッフがいる美容サロンが存在しない場合、又はお気に入りのスタッフを指名して予約可能な美容サロンが存在しない場合、推奨場所特定部114は、推奨する美容サロンの候補それぞれについて、ステップS112及びS113の何れにおいても除外されていないメニューを特定する。推奨場所特定部114は、特定されたメニューの所要時間のうち、例えば最短の所要時間を特定する。推奨場所特定部114は、推奨する美容サロンの候補の今日の予約タイムテーブルを参照して、終了予定時刻から所定時間経過以後で、予約されていない空き時間を特定する。推奨場所特定部114は、空き時間が、最短のメニューの所要時間以上連続する場合、対応する美容サロンを、予約可能な美容サロンとして特定する。このとき、推奨場所特定部114は、予約する開始時刻を、予約可能な開始時刻に設定する。
次いで、推奨場所通知部115は、予約可能な美容サロンがあるか否かを判定する(ステップS116)。予約可能な美容サロンがある場合(ステップS116:YES)、推奨場所通知部115は、推奨場所通知を、選択されたユーザのユーザ端末3へ送信する(ステップS117)。このとき、推奨場所通知部115は、予約可能な美容サロンの名称、予約可能な開始時刻等を推奨場所通知に含める。ステップS117の後、又は予約可能な美容サロンがない場合(ステップS116:NO)、推奨場所通知部115は、選択されたユーザの予約情報に含まれる通知有無フラグを「通知済み」に設定する(ステップS118)。
ステップS118の後、通知有無フラグが「通知済み」である場合(ステップS103:NO)、ユーザがチェックアウト済みである場合(ステップS104:YES)、終了予定時刻が経過している場合(ステップS108:YES)、又はチェックインからまだ所定時間が経過していない場合(ステップS109:NO)、推奨場所通知部115は、ステップS101で選択されたユーザ以外に、既にチェックインしているユーザがいるか否かを判定する(ステップS119)。既にチェックインしているユーザが他にいる場合(ステップS119:YES)、処理はステップS101に進む。ステップS101において、未だ選択されていないユーザの中から、既にチェックインしているユーザが一人選択される。一方、既にチェックインしているユーザが他にいない場合(ステップS119:NO)、推奨場所特定処理は終了する。
[5.変形例]
上述した実施形態においては、予約サーバ1は、美容サロンの情報を提供していた。しかしながら、美容サービスとは異なるサービスを提供する店舗、施設、若しくはその他の場所の情報を提供するとともに、そのような場所を予約可能に、予約サーバ1が構成されてもよい。この場合、予約サーバ1は、美容サービスの情報も提供してもよいし、提供しなくてもよい。情報提供の対象となる場所の例として、飲食店、レジャー施設、スポーツ施設等が挙げられる。情報提供の対象となる場所は、ユーザがサービスを利用するにあたって、予約が不要な場所を含んでもよい。情報提供の対象となる場所は、商品を提供する店舗、施設、若しくはその他の場所を含んでもよい。商品の提供は、商品の販売であってもよい。そのような場所の例として、洋品店、アクセサリーショップ、デザートショップ、みやげ物店、百貨店等が挙げられる。特に美容サロンで施術を受けているユーザは、美容サロンで綺麗になるそのユーザに対する報酬として、洋服などの買い物に行きたいと考えるかもしれない。商品を提供する場所を利用するためには、一般的に予約は不要である。
予約サーバ1は、ユーザが予約した場所にそのユーザが到着してから、その場所でそのユーザに対するサービスの提供が終了する予定の時刻までの間に、その終了予定時刻後に、そのユーザが訪れて利用可能な場所を通知する。予約不要な場所の場合、その場所が利用可能であるとは、その場所の営業時間内にユーザが訪れることが可能なことである。従って、予約システムは、そのような場所でのサービス又は商品の提供予定を示す予定情報として、その場所の営業時間や定休日を取得してもよい。
予約サーバ1は、上述した美容サービス間の相性問題と同様に、サービス間の相性問題や、サービスと商品間の相性問題を考慮して、利用可能な場所の中でも推奨する場所を特定してもよい。そのため、店舗DB14bに、それらの場所のカテゴリを示す情報が記憶されてもよい。また、商品を提供する場所のために、メニューDB14cに類似する商品DBが記憶部14に記憶されてもよい。この商品DBには、提供される各商品の名称、カテゴリ、価格等の情報が記憶されてもよい。相性DB14fには、サービス間の相性問題や、サービスと商品間の相性問題が定義されてもよい。
相性が悪い組み合わせの例を説明する。例えば、エステティックサロンでの痩身エステティックの後の、飲食店での食べ放題又は飲み放題というメニューは、相性が悪い。痩身エステティックは、ユーザの体を痩せさせるという効果を奏する。一方で、食べ放題又は飲み放題は、ユーザの体を太らせるという効果を奏する。そうすると、痩身エステティックで得られた効果が小さくなるか又は台無しになる。従って、予約サーバ1は、痩身エステティックの後で、食べ放題又は飲み放題のみを提供する飲食店は推奨しなくてもよい。また、例えば美容サロンの後のスポーツ施設は、相性が悪い可能性がある。美容サロンにおいて、ユーザは綺麗な容姿を獲得することになる。一方、スポーツ施設で運動すると、ユーザは、例えば髪型を乱したり、汗をかいたり、体を汚したりして、容姿を損なう可能性がある。例えば、ネイルサロンにおいて、ユーザは、綺麗な爪を獲得し又は爪を綺麗にしてもらう。一方、ボルダリング施設では、ユーザは指先を使うので、ネイルサロンとの相性が悪い。従って、予約サーバ1は、そのような場所を推奨しなくてもよい。
以上説明したように、本実施形態によれば、予約サーバ1が、複数の提供場所のうち、或るサービスを受けるためにユーザにより予約された予約場所におけるユーザに対する或るサービスの提供終了予定時刻を取得する。また、予約サーバ1が、記憶部14から、提供場所の位置情報を取得する。また、予約サーバ1が、取得された終了予定時刻及び取得された位置情報に基づいて、複数の提供場所のうち、提供終了予定時刻後にユーザが訪れて利用可能な提供場所を特定する。また、予約サーバ1が、特定された提供場所を通知するための推奨場所通知を、予約場所にユーザが到着してから提供終了予定時刻までの間に、そのユーザのユーザ端末3に送信する。従って、ユーザが提供場所に到着してからサービスを受け終わるまでの間の時間を利用して、そのサービスを受け終わった後に利用可能な他の場所をユーザに提示することができる。
ここで、予約サーバ1が、記憶部14から、予約タイムテーブル及び予約情報の少なくとも何れか一方を取得してもよい。また、予約サーバ1が、提供終了予定時刻と、位置情報と、予約タイムテーブル及び予約情報の少なくとも何れか一方と、に基づいて、提供終了予定時刻後の時間の中に、予約可能な時間がある提供場所を特定してもよい。この場合、提供場所の予約状況に基づいて、ユーザが受けているサービスの提供終了予定時刻後の時間の中に予約可能な時間がある提供場所が特定され、その提供場所が通知される。従って、ユーザがサービスを受け終わった後の利用を予約可能な他の場所をユーザに提示することができる。
ここで、予約サーバ1が、送信された推奨場所通知がユーザにより選択されたことに基づいて、予約される時間として、予約可能な開始時刻が予め設定された予約内容選択画面を、ユーザ端末3に表示させてもよい。この場合、予約内容選択画面に、予約可能な場所について、予約可能な開始時刻が予め設定される。従って、ユーザがサービスを受け終わった後の利用を予約可能な他の場所を予約する際に、ユーザ自身が、予約可能な開始時間を探す手間を省くことができる。
また、予約サーバ1が、ユーザがお気に入りのスタッフを示すお気に入り情報を取得してもよい。また、予約サーバ1が、提供終了予定時刻後に、取得されたお気に入り情報により示されるスタッフを指名して予約可能な提供場所を特定してもよい。この場合、ユーザがお気に入りのスタッフの指名状況に基づいて、ユーザが受けているサービスの提供終了予定時刻後の時間の中に予約可能な時間があり、且つその時間でお気に入りのスタッフを指名可能な提供場所が特定されて、その提供場所が通知される。従って、ユーザのお気に入りのスタッフを指名して予約可能な他の場所をユーザに提示することができる。
また、予約サーバ1が、送信された推奨場所通知を受信したユーザ端末3に対するユーザの操作に基づいて、特定された提供場所の予約処理を実行してもよい。この場合、ユーザが、予約した提供場所に到着してからサービスを受け終わるまでの間の時間を利用して、そのサービスを受け終わった後に利用可能な他の場所をユーザが予約することができる。
また、予約サーバ1が、不確定要素情報に基づいて、取得された提供終了予定時刻を変更してもよい。また、予約サーバ1が、変更された提供終了予定時刻後に利用可能な提供場所を特定してもよい。この場合、予約時には不確定であった要素により、ユーザに提供されるサービスの提供終了時刻が影響されるとき、そのサービスの提供終了予定時刻が変更される。そして、変更された終了予定時刻に基づいて、利用可能な提供場所が特定される。従って、何らかの不確定要素が原因でサービスの提供終了時刻が変わっても、その提供終了時刻後に利用可能な他の場所を提示することができる。
ここで、不確定要素情報は、予約場所の混雑状況を示してもよい。この場合、予約された場所が混雑状況によりサービスの提供終了時刻が変わっても、その提供終了時刻後に利用可能な他の場所を提示することができる。
また、不確定要素情報は、ユーザが予約場所に到着した時刻及び予約場所でユーザに或るサービスの提供が開始される時刻の少なくとも何れか一方を示してもよい。この場合、予約された場所にユーザが遅れて到着したり早まって到着したりすることや、ユーザに対するサービスの提供の開始が遅れたり早まったりすることにより、サービスの提供終了時刻が変わっても、その提供終了時刻後に利用可能な他の場所を提示することができる。
また、不確定要素情報は、ユーザが予約場所に到着後にユーザと予約場所との間で合意された、ユーザに提供されるサービスの変更、追加及び削除のうち、少なくとも何れか一つを示してもよい。この場合、予約された場所にユーザが到着してから、提供されるサービスに変更、追加又は削除が行われることにより、サービスの提供終了時刻が変わっても、その提供終了時刻後に利用可能な他の場所を提示することができる。
また、予約サーバ1が、記憶部14からカテゴリ情報を取得してもよい。また、予約サーバ1が、終了予定時刻、位置情報及びカテゴリ情報に基づいて、利用可能な提供場所の中でも推奨される提供場所を特定してもよい。ここで、予約サーバ1が、予約場所で或るサービスを受けることによりユーザが得る効果を減ずる可能性がある提供対象のカテゴリとは異なるカテゴリの提供対象を提供する提供場所を特定してもよい。この場合、予約された場所でユーザが受けているサービスによってユーザが得る効果を減ずる可能性がある場所は、通知対象の候補から除外される。従って、ユーザが、通知された他の場所でサービスを受けても、既に得られた効果を保つことができる。
また、予約サーバ1が、ユーザによる提供場所の予約履歴を取得してもよい。また、予約サーバ1が、取得されたカテゴリ情報及び取得された予約履歴に基づいて、推奨される提供場所を特定してもよい。ここで、予約サーバ1が、ユーザによる予約場所の利用予定日から所定日数前までの間にユーザが受けた提供対象のカテゴリとは異なるカテゴリの提供対象を提供する提供場所を特定してもよい。この場合、ユーザが所定日数前までに受けた提供対象と同じような提供対象を提供する場所は、通知対象の候補から除外される。従って、現在のユーザにとって不必要な場所がユーザに提示されることを抑止することができる。
また、予約サーバ1が、予約場所でユーザに対する或るサービスの提供が開始されてから提供終了予定時刻までの間に、推奨場所通知を送信してもよい。この場合、予約された場所でユーザがサービスを受けている時間を利用して、そのサービスを受け終わった後に利用可能な他の場所をユーザに提示することができる。
また、複数の提供場所のうち少なくとも一の提供場所は、美容サロンであってもよい。
上記課題を解決するために、請求項1に記載の発明は、サービス及び商品の少なくとも何れか一方である提供対象をそれぞれ提供する複数の提供場所のうち、或るサービスを受けるためにユーザにより予約された予約場所における前記ユーザに対する前記或るサービスの提供終了予定時刻を取得する終了予定時刻取得手段と、前記複数の提供場所それぞれについて、前記提供場所の位置を示す位置情報を記憶する記憶手段から、前記位置情報を取得する提供場所情報取得手段と、前記取得された提供終了予定時刻及び前記取得された位置情報に基づいて、前記複数の提供場所のうち、前記提供終了予定時刻後に前記ユーザが訪れて利用可能な提供場所を特定する特定手段と、前記特定された提供場所を通知するための通知情報を、前記予約場所に前記ユーザが到着してから前記提供終了予定時刻までの間に、前記ユーザの端末装置に送信する送信手段と、を備えることを特徴とする。
請求項2に記載の発明は、前記複数の提供場所のうち予約可能な提供場所のそれぞれについて、前記提供場所の予約状況を時間と関連付けて示す予約状況情報を記憶する予約状況情報記憶手段から、前記予約状況情報を取得する予約状況情報取得手段を更に備え、前記特定手段は、前記取得された提供終了予定時刻、前記取得された位置情報及び前記取得された予約状況情報に基づいて、前記提供終了予定時刻後の時間の中に、予約可能な時間がある提供場所を特定することを特徴とする。
請求項10に記載の発明は、前記複数の提供対象それぞれについて、前記提供場所により提供される提供対象に係わるカテゴリを示すカテゴリ情報を記憶するカテゴリ情報記憶手段から、前記カテゴリ情報を取得するカテゴリ情報取得手段を更に備え、前記特定手段は、前記取得された提供終了予定時刻、前記取得された位置情報及び前記取得されたカテゴリ情報に基づいて、前記利用可能な提供場所の中でも推奨される提供場所を特定することを特徴とする。