以下、図面を参照して本発明の実施形態について詳細に説明する。
[1.第1実施形態]
[1-1.ゴルフ場予約システムの構成]
先ず、本実施形態に係るゴルフ場予約システムSの構成及び機能概要について、図1を用いて説明する。図1は、本実施形態に係るゴルフ場予約システムSの概要構成の一例を示す図である。
図1に示すように、ゴルフ場予約システムSは、ゴルフ場予約サーバ1と、天気情報提供サーバ2と、複数のゴルフ場端末3と、複数のユーザ端末4と、を含んで構成される。ゴルフ場予約サーバ1、天気情報提供サーバ2、各ゴルフ場端末3及び各ユーザ端末4は、ネットワークNWを介して互いに接続される。ネットワークNWは、例えばインターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
ゴルフ場予約サーバ1は、ゴルフ場を予約するための予約サイトに関する各種処理を実行するサーバ装置である。ゴルフ場予約サーバ1は、ゴルフ場端末3やユーザ端末4からの要求に応じて、予約サイトに関するウェブページ等のコンテンツを送信したり、ユーザ端末4からの要求に応じてゴルフ場の予約の処理を行ったりする。ゴルフ場予約サーバ1がユーザ端末4へ配信するコンテンツの中には、予約可能なプレー枠(または時間枠、スタート枠)の一覧を含むコンテンツがある。プレー枠とは、予約の対象としてのゴルフをプレーする場所とプレーする時期との組み合わせである。ゴルフのプレー場所は、少なくともゴルフ場により示される。プレー場所は、ゴルフ場とコースとの組み合わせであってもよい。コースは、ゴルフ場にある全ホールを、連続するホールでそれぞれ構成される複数のグループに分けた場合の各グループを示す。コースとしては、一般的にOUTコース(フロントナイン(第1~第9ホール))とINコース(バックナイン(第10~第18ホール))とがある。プレー時期は、少なくともプレー日により示されてもよい。プレー日は、ゴルフをプレーする日付である。プレー時期は、プレー日とスタート時刻との組み合わせであってもよい。スタート時刻は、ゴルフのプレーを開始する時刻である。所定時間間隔(例えば7分間隔等)でスタート時刻が予め設定されてもよい。ゴルフ場を予約する際、ユーザは、プランを指定することが必要であってもよい。プランは、ゴルフ場を利用するユーザに対してそのゴルフ場が提供するサービスの内容を示す。プレー枠の一覧は、予約可能なプレー場所とプレー時期との組み合わせの一覧であるとともに、各組み合わせにおいてユーザに提供されるプランを示してもよい。プレー枠の一覧を含むコンテンツの一例として、検索結果ページがある。検索結果ページは、ユーザにより指定された検索条件に合致するプレー枠の一覧を示すウェブページである。検索条件の例として、料金、ゴルフ場がある地方又は都道府県、プレー日、プレーを開始する時間帯、プランの内容等がある。プレー枠の一覧を含むコンテンツの別の例として、1人予約用のトップページがある。このトップページには、所定の条件に合致するプレー枠の一覧が表示されてもよい。所定の条件は、例えばプレー日が明日であり、特定の地方にゴルフ場があり、且つ先に予約者がいることであってもよい。ユーザは、プレー枠の一覧の中から何れかのプレー枠を選択して予約を行うことができる。
予約可能なゴルフ場の中には、1人予約プランを提供するゴルフ場がある。1人予約プランは、予約者が予約したプレー枠で行われるゴルフに、その予約者が1人での参加を可能とするプランである。この1人予約プランでは、同一のプレー枠に対して複数のユーザそれぞれによる予約が可能である。そして、対象のプレー枠に対する予約期限までに、予約者の人数が予め定められた最少催行人数以上となった場合に、そのプレー枠でのゴルフのプレーが可能となる。この場合、同一プレー枠を予約した複数のユーザが組となって、一緒にゴルフをプレーすることになる。一方、予約期限までに予約者の人数が最少催行人数に達しなかった場合、ゴルフ場予約サーバ1により予約者全員の予約がキャンセルされる。その結果、予約者はゴルフをプレーすることができない。最少催行人数は、一般的には2人である。しかしながら、最少催行人数は、1人、3人又は4人であってもよい。例えば、各ゴルフ場が、プランごとに最少催行人数を予め設定可能であってもよい。1人予約プランで提供されるその他のサービスの内容は、ゴルフ場で異なる場合がある。また、一のゴルフ場が複数種類の1人予約プランを提供してもよい。なお、本実施形態においては、1人予約プラン以外のプランの予約に関する説明は省略する。
天気情報提供サーバ2は、各地の天気に関する天気情報を提供するサーバ装置である。例えば、天気情報提供サーバ2は、現時点で予想される天気を示す天気予報情報や過去の天気を示す過去天気情報を提供する。例えば、所定地域(例えば日本等)が複数のメッシュに分割される。メッシュは、例えば一辺の長さが所定距離(例えば、1km等)である矩形の領域であってもよい。天気情報提供サーバ2は、メッシュ単位で天気情報を提供可能であってもよいし、都道府県単位又は市区町村単位で天気情報を提供可能であってもよい。天気情報提供サーバ2は、例えば経緯度、住所又は郵便番号等を示す位置情報とともに未来の日時を示す情報を他のコンピュータから受信すると、その場所のその日時に対応する天気予報情報を、そのコンピュータへ送信してもよい。天気予報情報は、例えば、降水確率、降水量、風速、及び気温の少なくとも一つを含んでもよい。また、天気情報提供サーバ2は、位置情報とともに過去の日時を示す情報を受信すると、その場所のその日時に対応する過去天気情報を送信してもよい。過去天気情報は、例えば、降水量、風速、及び気温の少なくとも一つを含んでもよい。
各ゴルフ場端末3は、ゴルフ場の従業員により利用される端末装置である。ゴルフ場端末3の例として、タブレット式コンピュータ、パーソナルコンピュータ等が挙げられる。ゴルフ場端末3には、ウェブブラウザ、電子メールクライアント等がインストールされていてもよい。ゴルフ場端末3は、従業員による操作に基づいてゴルフ場予約サーバ1へ要求を送信し、この要求に応じてゴルフ場予約サーバ1から送信されてきたウェブページ等の情報を表示する。従業員は、ゴルフ場端末3を利用して、ゴルフ場の予約状況を確認等する。
各ユーザ端末4は、予約サイトを利用してゴルフ場を予約するユーザが利用する端末装置である。ユーザ端末4の例として、パーソナルコンピュータ、スマートフォン、タブレット式コンピュータ等の携帯情報端末、携帯電話機、PDA(Personal Digital Assistant)、セットトップボックス等が挙げられる。ユーザ端末4には、ブラウザ、電子メールクライアント等のソフトウェアがインストールされてもよい。また、ユーザ端末4が携帯可能な端末装置である場合、そのユーザ端末4には、予約サイトを利用するための専用のアプリケーションがインストールされてもよい。
[1-2.ゴルフ場予約サーバの構成]
次に、ゴルフ場予約サーバ1の構成について、図2及び図3を用いて説明する。図2は、本実施形態に係るゴルフ場予約サーバ1の概要構成の一例を示すブロック図である。図2に示すように、ゴルフ場予約サーバ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、プレー履歴DB14i等のデータベースが記憶されている。「DB」は、データベースの略語である。図3は、データベースに記憶される情報の例を示す図である。
会員DB14aには、ゴルフ場予約システムSを利用するユーザに関する会員情報が、ユーザごとに記憶されている。具体的に、会員DB14aには、会員情報として、ユーザID、氏名、住所、電話番号、電子メールアドレス等が、互いに関連付けて記憶されている。ユーザIDは、ユーザを識別する識別情報である。
ゴルフ場DB14bには、ゴルフ場予約システムSで予約可能なゴルフ場に関するゴルフ場情報が、ゴルフ場ごとに記憶されている。具体的に、ゴルフ場DB14bには、ゴルフ場情報として、ゴルフ場ID、ゴルフ場名、住所、電話番号、電子メールアドレス等が、互いに関連付けて記憶されている。ゴルフ場IDは、ゴルフ場を識別する識別情報である。
プランDB14cには、ゴルフ場予約システムSで予約可能な1人予約プランに関するプラン情報が、プランごとに記憶される.具体的に、プランDB14cには、プラン情報として、プランID、プラン名、ゴルフ場ID、最少催行人数、プラン内容、料金等が、互いに関連付けて記憶される。プランIDは、プランを識別する識別情報である。ゴルフ場IDは、対象のプランを提供するゴルフ場を示す。最少催行人数は、ゴルフを開催するために必要な最少の予約者数を示す。予約者数は、対象のプランのプレー枠を現時点で予約しているユーザの人数を示す。予約者数は、現時点における組のメンバー数に相当する。
天気予報DB14dには、少なくとも最新の天気予報で予想されている天気を示す天気予報情報が、ゴルフ場と日付と時間帯との組み合わせごとに記憶される。具体的に、天気予報DB14dには、ゴルフ場ID、日付、時刻、及び天気予報情報が互いに関連付けて記憶される。ゴルフ場IDは対象のゴルフ場を示す。時刻は、対象の時間帯の開始時刻を示す。時間帯の長さは、例えば10分、1時間、4時間、1日等であってもよい。ゴルフ場予約サーバ1は、ゴルフ場の位置情報と必要な日付及び時刻とを天気情報提供サーバ2へ送信することにより、そのゴルフ場におけるその日時の天気予報情報を取得する。そして、ゴルフ場予約サーバ1は、そのゴルフ場のゴルフ場IDと日付と時刻とに関連付けて、取得した天気予報情報を天気予報DB14dに記憶させる。なお、天気予報DB14dには、過去の天気予報で予想された天気の情報も記憶されてもよい。
過去天気DB14eには、過去の天気を示す過去天気情報が、ゴルフ場と日付と時間帯との組み合わせごとに記憶される。具体的に、過去天気DB14eには、ゴルフ場IDと日付と時刻と過去天気情報とが互いに関連付けて記憶される。ゴルフ場IDは対象のゴルフ場を示す。時刻は、対象の時間帯の開始時刻を示す。ゴルフ場予約サーバ1は、ゴルフ場の位置情報と必要な日付及び時刻とを天気情報提供サーバ2へ送信することにより、そのゴルフ場におけるその日時の過去天気情報を取得する。そして、ゴルフ場予約サーバ1は、そのゴルフ場のゴルフ場IDと日付と時刻とに関連付けて、取得した過去天気情報を過去天気DB14eに記憶させる。
予約情報DB14fには、ゴルフ場の予約に関する予約情報が、予約が行われるごとに記憶される。具体的に、予約情報DB14fには、予約情報として、予約番号、予約日時、予約者ID、プランID、ゴルフ場ID、コースID、プレー日、スタート時刻、開催フラグ、キャンセルフラグ等が、互いに関連付けて記憶される。予約番号は、予約を識別する番号である。予約者IDは、予約を行ったユーザのユーザIDである。プランIDは、予約されたプランを示す。ゴルフ場IDは、予約されたゴルフ場を示す。コースIDは、予約されたコースを識別する識別情報である。プレー日及びスタート時刻は、予約されたプレーの日時を示す。開催フラグは、予約されたプレー枠でのゴルフの開催が決定されたか否かを示す。開催フラグが「未確定」に設定されている場合、ゴルフの開催が未確定であることを示す。開催フラグが「開催」に設定されている場合、予約者数が最少催行人数に達したためにゴルフが開催されることを示す。開催フラグが「未開催」に設定されている場合、予約者数が最少催行人数に満たないためにゴルフが開催されないことを示す。キャンセルフラグは、対象の予約が予約者によってキャンセルされたか否かを示す。
予約タイムテーブルDB14gには、ゴルフ場の予約状況を示す予約状況情報が、プレー枠ごとに記憶される。具体的に、予約タイムテーブルDB14gには、予約状況情報として、ゴルフ場ID、コースID、プレー日、スタート時刻、プランID、表示優先度、及び予約者数が、互いに関連付けて記憶される。ゴルフ場ID、コースID、プレー日、及びスタート時刻は、対象のプレー枠を示す。プランIDは、対象のプレー枠で予約可能なプランを示す。表示優先度は、対象のプレー枠に関する情報をユーザ端末4に提供する際におけるそのプレー枠の情報の表示がどれだけ優先されるかを示す。例えば、表示優先度は数値で示されてもよい。その数値が高いほど表示の優先度が高くてもよい。予約者数は、現時点で対象のプレー枠を予約しているユーザの人数を示す。予約者数が1以上である場合、予約タイムテーブルDB14gには、予約者数に相当する数の予約番号が更に記憶される。各予約番号は、対象のプレー枠を予約したユーザの予約情報に対応する。ゴルフ場予約サーバ1は、予約が行われたり予約がキャンセルされたりするごとに予約状況情報を更新する。例えば、予約が行われると、ゴルフ場予約サーバ1は、予約者数を1増加させるとともに、その予約に対応する予約番号を、予約タイムテーブルDB14gに記憶させる。一方、予約がキャンセルされると、ゴルフ場予約サーバ1は、予約者数を1減少させるとともに、キャンセルされた予約に対応する予約番号を、予約タイムテーブルDB14gから削除する。
料金決済DB14hには、ゴルフ場の予約者によるゴルフ場の利用料金の決済を示す決済情報が、利用料金の決済ごとに記憶される。具体的に、料金決済DB14hには、決済情報として、決済番号、決済日時、予約番号、決済額等が、互いに関連付けて記憶される。決済番号は、決済を識別する番号である。予約番号は、利用料金が決済された予約を示す。ゴルフ場の予約者は、予約したプレー日に、予約したゴルフ場に行ってチェックインを行う。チェックインは、ゴルフ場の利用開始の手続きである。チェックイン後、予約者は、他の予約者と一緒にゴルフをプレーする。プレーが終了すると、予約者はチェックアウトを行う。チェックアウトは、ゴルフ場の利用終了の手続きである。予約者は、例えばチェックイン時又はチェックアウト時に、利用料金を決済する。ゴルフ場の従業員は、ゴルフ場端末3を操作することにより、その予約者の予約を選択して、料金が決済されたことを入力する。これに応じて、ゴルフ場端末3は、選択された予約に対応する予約番号を含む決済通知をゴルフ場予約サーバ1へ送信する。ゴルフ場予約サーバ1は、決済通知の予約番号を含む決済情報を、料金決済DB14hに記憶させる。
プレー履歴DB14iには、ゴルフ場予約システムSを利用するユーザによるゴルフのプレーの履歴が記憶される。具体的に、プレー履歴DB14iには、プレーログとして、プレーヤID、ゴルフ場ID、コースID、プレー日、スタート時刻、スコア情報等が、互いに関連付けて1プレーごとに記憶される。プレーヤIDは、ゴルフをプレーしたユーザのユーザIDである。ゴルフ場ID、コースID、プレー日、スタート時刻は、ユーザがゴルフをプレーしたプレー枠のゴルフ場、コース、プレー日及びスタート時刻をそれぞれ示す。スコア情報は、ユーザが対象のプレーで出したスコアを示す情報である。例えば、ユーザが或るプレー枠を予約した後でその予約がキャンセルされない状態でプレー日当日になった場合、ゴルフ場予約サーバ1は、新たなプレーログをプレー履歴DB14iに記憶させてもよい。このとき、ゴルフ場予約サーバ1は、例えば対象の予約の予約情報から、予約者ID、ゴルフ場ID、コースID、プレー日及びスタート時刻を取得して、これらの情報に基づいてプレーログを生成してもよい。或いは、予約したユーザがゴルフ場にチェックインしたとき、ゴルフ場予約サーバ1は、新たなプレーログをプレー履歴DB14iに記憶させてもよい。例えば、ゴルフ場の従業員は、チェックインするユーザの氏名やユーザID等をゴルフ場端末3に入力させる。ゴルフ場予約サーバ1は、入力された情報に基づいて、チェックインするユーザの予約に対応する予約情報を、予約情報DB14fから検索する。このとき、ゴルフ場予約サーバ1は、対象の予約がキャンセルされていない場合にのみ、チェックインの許可を決定する。チェックインの許可を決定すると、ゴルフ場予約サーバ1は、プレーログを記憶させる。プレーログが記憶された後、ユーザ端末4を操作することにより、ユーザが対象のプレーログを選択してスコア情報を入力すると、ゴルフ場予約サーバ1は、選択されたプレーログに関連付けてそのスコア情報をプレー履歴DB14iに記憶させてもよい。
記憶部14には、更にオペレーティングシステム、DBMS(Database Management System)、サーバプログラム等の各種プログラムが記憶されている。サーバプログラムは、ゴルフ場の利用予約に関する処理や、コンテンツの配信に関する処理等をシステム制御部11に実行させるプログラムである。サーバプログラムは、例えば、他の装置からネットワークNWを介して取得されるようにしてもよいし、磁気テープ、光ディスク、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。
通信部15は、例えばネットワークインターフェースカード等により構成されている。通信部15は、ネットワークNWを介して、天気情報提供サーバ2、ゴルフ場端末3、ユーザ端末4等と接続し、これらの装置との通信状態を制御する。
[1-3.システム制御部の機能概要]
次に、図4乃至図7を用いて、ゴルフ場予約サーバ1におけるシステム制御部11の機能概要について説明する。図4は、本実施形態に係るゴルフ場予約サーバ1におけるシステム制御部11の機能ブロックの一例を示す図である。システム制御部11は、CPU11aが、サーバプログラムに含まれる各種プログラムコードを読み出し実行することにより、図4に示すように、天気情報取得部1101、履歴情報取得部1102、表示制御部1103等として機能する。
天気情報取得部1101は、1人予約が可能なゴルフ場の天気であって、未来のプレー時期のプレー枠における天気を示す天気情報を取得する。未来のプレー時期のプレー枠に対応する天気とは、そのプレー枠のゴルフ場におけるそのプレー時期の天気であって、予想される天気である。例えば、天気情報取得部1101は、天気予報DB14dに記憶された天気予報情報を取得してもよい。
履歴情報取得部1102は、前述の未来のプレー時期のプレー枠の予約者が予約した過去のプレー時期のプレー枠のうち、天気がゴルフのプレーに負の影響を与える可能性がある所定天気であるプレー枠に対するその予約者による予約のキャンセル状況の履歴を示す履歴情報を取得する。過去のプレー時期のプレー枠に対応する天気は、そのプレー枠のゴルフ場におけるそのプレー時期の実際の天気又はそのプレー時期の天気の予想であってもよい。ゴルフのプレーに負の影響を与えるとは、例えば、ゴルフをプレーし難くすること、普段通りのスコア若しくは良いスコアを出し難くすること、又は、ゴルフをプレーするユーザの体調を悪くさせることであってもよい。ゴルフのプレーに負の影響を与える可能性がある所定天気は、例えば、雨天、風が強いこと、気温が高すぎること、及び気温が低すぎることの少なくとも何れか一つであってもよい。雨は、例えばプレーヤの視界を悪化させたり、プレーヤの体や地面を濡らしてゴルフをプレーし難くさせたり、プレーヤの体を冷やしてその体を動きにくくさせたりする可能性がある。風は、例えばショットされたボールの軌道をプレーヤの想定以上に変えたり、プレーヤの姿勢を崩させたりする可能性がある。高すぎる気温は、例えばプレーヤの体温を上げて、プレーヤの集中力を下げたり、プレーヤの体調を崩させたりする可能性がある。低すぎる気温は、例えばプレーヤの体温を下げて、プレーヤの体を動きにくくさせたり、プレーヤの体調を崩させたりする可能性がある。所定天気は、具体的には、降水量が所定量以上であること、風速が所定速度以上であること、気温が第1の所定度以上(例えば摂氏35度以上等)であること、気温が第2の所定度以下であること(例えば摂氏0度以下等)の少なくとも何れか一つであってもよい。所定天気を、便宜上悪天という。所定天気以外の天気を、便宜上好天という。本実施形態においては、晴天であり且つ風がない場合であっても、気温によってはその天気が悪天に分類されてもよい。履歴情報取得部1102は、過去天気DB14eに基づいて、悪天であるか又は好天であるかを判定してもよい。或いは、履歴情報取得部1102は、天気予報DB14dに記憶された天気予報情報のうち、過去のプレー時期の天気を予想した天気予報情報に基づいて、悪天であるか又は好天であるかを判定してもよい。
キャンセル状況の履歴を示す履歴情報の例として、予約情報DB14fに記憶された予約情報、料金決済DB14hに記憶された決済情報、及びプレー履歴DB14iに記憶されたプレーログが挙げられる。予約情報DB14fに記憶された予約情報は、各ユーザによるゴルフ場の予約の履歴を示す。また、予約情報は、キャンセルフラグを含む。そのため、予約情報は、ユーザがその予約をキャンセルしたか否かの履歴をも示す。ユーザが予約をキャンセルしなかった場合、そのユーザが対象のプレー枠でゴルフをプレーした可能性が高い。一方、ユーザが予約をキャンセルした場合、そのユーザが対象のプレー枠でゴルフをプレーしなかったと考えられる。料金決済DB14hに記憶された決済情報は、各ユーザによる利用料金の決済の履歴を示す。前述したように、ゴルフ場の利用料金は、そのゴルフ場でのチェックイン又はチェックアウトの際に決済される。従って、利用料金を決済したことは、予約したゴルフ場にユーザが行ったことを示すとともに、ユーザが予約をキャンセルしなかったことを示す。予約したゴルフ場に行って利用料金を決済したという事実から、そのユーザはそのゴルフ場でゴルフをプレーしたと考えられる。一方、ユーザがゴルフ場を予約したことが予約情報により示されたにもかかわらず、対象のプレー枠の利用料金の決済情報が料金決済DB14hに記憶されていない場合、そのユーザはゴルフをプレーしなかったことを示すとともに、ユーザが予約をキャンセルした蓋然性があることを示す。そこで、予約情報と決済情報とを組み合わせることで、予約のキャンセル状況を特定することができる。プレーログは、ユーザがプレー枠を予約した後にその予約がキャンセルされなかった場合に記憶される。従って、プレーログは、ユーザキャンセルしなかった予約の履歴を示す。そこで、予約情報とプレーログとを組み合わせることで、予約のキャンセル状況を特定することができる。
表示制御部1103は、未来のプレー時期のプレー枠のうち、天気情報取得部1101により取得された天気情報により示される天気が悪天であるプレー枠の情報の表示の優先度を、履歴情報取得部1102により取得された履歴情報に基づいて制御する。この場合の悪天は、降水確率が所定確率以上であること、予想降水量が所定量以上であること、予想風速が所定速度以上であること、予想気温が第1の所定度以上であること、予想気温が第2の所定度以下であることの少なくとも何れか一つであってもよい。表示されるプレー枠の情報をプレー枠情報という。プレー枠情報は、例えば検索結果ページや1人予約プランのトップページ等に含まれるプレー枠の一覧における各プレー枠の情報であってもよい。表示優先度は、例えば、対象のプレー枠の情報をどれだけ優先して表示するか、複数のプレー枠の中で対象のプレー枠の情報を何番目に表示するか、又は、複数の予約の中で対象のプレー枠の情報をどれだけ目立たせて表示するかを示してもよい。表示制御部1103は、表示優先度を直接決定してもよい。例えば、表示制御部1103は、絶対的な表示優先度を決定してもよいし、相対的な表示優先度を決定してもよい。相対的な表示優先度の例として、表示順位がある。表示順位は、プレー枠の一覧において、対象のプレー枠情報が何番目に表示されるかを示す。表示順位が高いほど表示優先度が高い。表示制御部1103は、表示優先度を間接的に決定してもよい。例えば、表示制御部1103は、どのプレー枠をどのプレー枠よりも優先させるかに基づいて複数のプレー枠を並べ替えることの結果として、間接的に表示優先度を決定してもよい。
表示制御部1103は、履歴情報に基づいて、悪天が予想される未来のプレー時期のプレー枠の予約者が悪天のプレー枠の予約をキャンセルする傾向の度合いを決定してもよい。そして、表示制御部1103は、悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者が予約した未来のプレー時期の悪天のプレー枠の情報の表示優先度を、悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度以上である予約者が予約した未来のプレー時期の悪天のプレー枠の情報の表示優先度よりも高くしてもよい。予約者の中には、例えば当初は好天の予報であったにもかかわらず、その後の予報が悪天に変わったことを知ると、予約をキャンセルする予約者が出てくる場合がある。その理由は、前述したように、ゴルフをプレーし難かったり、良いスコアを出すことが難しかったり、体調が悪化したりするからである。プレー枠の一覧の中から何れかのプレー枠をユーザが選択して予約を行ったとする。予約した段階では予約者数が最少催行人数以上であった場合、そのユーザは、ゴルフが開催されることを期待する。しかしながら、その後、先に予約していた別のユーザがそのプレー枠の予約をキャンセルすることにより、予約者数が最少催行人数を下回ると、対象のプレー枠でのゴルフの不開催が決定され、全予約者の予約が自動的にキャンセルされる。この場合、ユーザの期待に添えない結果となる。そこで、悪天が予想される未来のプレー時期のプレー枠のうち、悪天のプレー枠の予約をキャンセルする傾向が低いユーザが先に予約しているプレー枠の情報の表示を優先させることで、プレー枠の一覧を閲覧するユーザは、予約がキャンセルされる可能性が相対的に低いプレー枠、すなわち予約者数が最少催行人数を下回り難いプレー枠を選択しやすくなる。そうすることで、後から予約するユーザの期待に応えることができる。悪天のプレー枠の予約をキャンセルする傾向の度合いは、例えば悪天キャンセル率で示されてもよい。悪天キャンセル率は、ユーザが予約したプレー枠の中で悪天であったプレー枠のうち、そのユーザがゴルフをプレーしたプレー枠の割合である。所定度は、例えば50%であってもよい。
より具体的に、表示制御部1103は、悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者の人数が、最少催行人数よりも1人少ない人数以上である悪天のプレー枠の情報の表示優先度を、予約者の人数が、最少催行人数よりも1人少ない人数以上である悪天のプレー枠のうち、悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者の人数が最少催行人数よりも1人少ない人数未満である悪天のプレー枠の情報の表示優先度よりも高くしてもよい。悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者の人数が、最少催行人数よりも1人少ない人数以上であるという条件は、悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度以上である予約者全員が予約をキャンセルしたとしても、残りの予約者の人数が最少催行人数を下回らないか、又はプレー枠の情報の提示先のユーザが予約することにより、予約者数が最少催行人数以上となることを示す。従って、この条件を満たすプレー枠は、この条件を満たさないプレー枠よりもゴルフが開催される可能性が高い。図5は、表示優先度の決定例を示す図である。図5に示すように、Cゴルフ場及びDゴルフ場において、同一プレー日及び同一スタート時刻にそれぞれ2人の予約者がいる。Cゴルフ場及びDゴルフ場それぞれにおけるそのプレー日及びそのスタート時刻の天気は、悪天と予想されている。Cゴルフ場及びDゴルフ場それぞれの最少催行人数は2人である。従って、現時点の予約者数のみから判断すれば、Cゴルフ場及びDゴルフ場それぞれのプレー枠においてゴルフの開催が見込まれる。Cゴルフ場に対しては、ユーザ110及び120が予約している。ユーザ110は、悪天のプレー枠の予約をキャンセルする傾向が低いユーザである。ユーザ120は、悪天のプレー枠の予約をキャンセルする傾向が高いユーザである。従って、ユーザ110は最後まで予約をキャンセルしない可能性が高いので、少なくとも1人の予約者は残ることが期待される。この状態のままであると、最少催行人数よりも予約者が1人少ないので、ゴルフは開催されない。しかしながら、プレー枠の一覧を閲覧しているユーザが、Cゴルフ場を選択して予約を行えば、予約者数は2人となり、ゴルフが開催されることが期待される。一方、Dゴルフ場に対しては、ユーザ130及び140が予約している。ユーザ130及び140の何れも、悪天のプレー枠の予約をキャンセルする傾向が高いユーザである。従って、これらのユーザは予約をキャンセルする可能性が高いので、予約者数が0になる可能性がある。このときにたとえプレー枠の一覧を閲覧しているユーザがDゴルフ場を選択して予約を行っても、予約者数は1人にとどまり、最少催行人数に満たない。そこで、表示制御部1103は、Cゴルフ場の方の情報の表示優先度を、Dゴルフ場の方の情報の表示優先度よりも高くしてもよい。
プレー枠の一覧には、悪天が予想されるプレー枠とともに、好天が予想されるプレー枠も含まれることが一般的である。表示制御部1103は、好天が予想されるプレー枠を含めて、各プレー枠の情報の表示優先度を決定してもよい。例えば、表示制御部1103は、ゴルフが開催される可能性が高いほど、表示優先度を高くしてもよい。図6(a)は、天気と予約者数との組み合わせと表示優先度との関係の一例を示す図である。例えば、表示制御部1103は、好天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数以上であるプレー枠の表示優先度を最も高くしてもよい。こうしたプレー枠は、前述したように、現時点での予約者数からゴルフの開催が見込まれるプレー枠である。また、好天が予想されるプレー枠は、予約者が予約をキャンセルする可能性が低い。表示制御部1103は、悪天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数以上であって、なお且つ、悪天のプレー枠の予約をキャンセルする傾向が低い予約者の人数が最少催行人数よりも1人少ない人数以上であるプレー枠の表示優先度を2番目に高くしてもよい。現時点での予約者数のみを考慮すればゴルフの開催が見込まれるものの、このようなプレー枠を予約者が予約をキャンセルする可能性は、好天が予想される1番目のプレー枠よりも高い。表示制御部1103は、悪天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数以上であって、なお且つ、悪天のプレー枠の予約をキャンセルする傾向が低い予約者の人数が最少催行人数よりも1人少ない人数未満であるプレー枠の表示優先度を3番目に高くしてもよい。現時点での予約者数のみを考慮すればゴルフの開催が見込まれるものの、予約者数が最少催行人数を再度下回る可能性は、2番目のプレー枠の場合よりも高い。表示制御部1103は、好天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数未満であるプレー枠の表示優先度を4番目に高くしてもよい。プレー枠一覧を閲覧するユーザがそのプレー枠を予約しても、予約者数は最少催行人数に満たないので、予約者数を考慮しても現時点ではゴルフの開催が見込まれない。表示制御部1103は、悪天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数未満であるプレー枠の表示優先度を最も低くしてもよい。プレー枠一覧を閲覧するユーザがそのプレー枠を予約しても、予約者数は最少催行人数に満たず、その予約者の人数が今後減少する可能性が4番目のプレー枠よりも高い。
図6(b)は、表示優先度の具体的な決定例を示す図である。プレー日が4月1日であるプレー枠の一覧の中で、スタート時刻が8時23分であるプレー枠が5個存在しているとする。第1のプレー枠は、Aゴルフ場のOUTコースである。好天が予想され、現在の予約者数は1人である。第2のプレー枠は、Bゴルフ場のOUTコースである。好天が予想され、現在の予約者数は0人である。第3のプレー枠は、Cゴルフ場のOUTコースである。悪天が予想され、現在の予約者数は2人である。予約者の中で、悪天のプレー枠の予約をキャンセルする傾向が低い予約者の人数は1人である。第4のプレー枠は、Cゴルフ場のINコースである。同じく悪天が予想され、現在の予約者数は0人である。第5のプレー枠は、Dゴルフ場のOUTコースである。悪天が予想され、現在の予約者数は2人である。予約者の中で、悪天のプレー枠の予約をキャンセルする傾向が低い予約者の人数は0人である。何れのゴルフ場も、最少催行人数は2人である。これらのプレー枠の中での表示順位を決定する場合、第1位は、好天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数以上である第1のプレー枠である。第2位は、悪天が予想され、且つ、悪天のプレー枠の予約をキャンセルする傾向が低い予約者の人数が、最少催行人数よりも1人少ない人数以上である第3のプレー枠である。第3位は、悪天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数以上であり、なお且つ、悪天のプレー枠の予約をキャンセルする傾向が低い予約者の人数が、最少催行人数よりも1人少ない人数未満である第5のプレー枠である。第4位は、好天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数未満である第2のプレー枠である。第5位は、悪天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数未満である第4のプレー枠である。
表示制御部1103は、履歴情報に基づいて決定された表示優先度に従って、プレー枠の一覧をユーザ端末4により表示させる。例えば、表示制御部1103は、表示優先度に基づいて各プレー枠情報の表示順位を決定し、表示順位に従ってプレー枠情報をソートして表示させてもよい。ここで、プレー枠の一覧は、表示優先度とは異なる何らかのソート条件に従ってソートされてもよい。ソート条件の例として、プレー日が早く且つスタート時刻が早い順、利用料金が安い順、ゴルフ場に対するユーザからの評価が高い順、所定期間内における予約数が多いゴルフ場の順等が挙げられる。ソートのために用いられる値をソート値という。例えば、ソート値は、プレー日とスタート時刻との組み合わせ、利用料金、評価値、又は予約数であってもよい。表示制御部1103は、ソート条件の方に優先して従ってプレー枠をソートしてもよい。そして、表示制御部1103は、ソート値が同一であるプレー枠が複数存在する場合、それらのプレー枠の表示順位を、天気情報及び履歴情報に基づく表示優先度に従って決定してもよい。或いは、ゴルフが開催される可能性の高い順が、ソート条件として指定可能であってもよい。このソート条件の場合、表示制御部1103は、図6を用いて説明した優先度に従ってプレー枠をソートしてもよい。
図7は、プレー枠の一覧の表示例を示す図である。図7に示すように、例えば検索結果ページ又は1人予約のトップページに、プレー枠一覧200が表示される。プレー枠一覧200は、プレー枠情報210、220、230、240、250及び260等を含む。各プレー枠情報は、例えばプレー日、ゴルフ場名、ゴルフ場の住所、評価、プラン内容、コース名、スタート時刻、利用料金、予約状況、予約ボタン等を含んでもよい。予約状況は、例えば現在の予約者数や、現在予約しているユーザの概要を示してもよい。予約ボタンをユーザが押下すると、ユーザ端末4は、選択されたプレー枠の詳細な情報や予約者の情報を表示する。ここで、ユーザが予約手続きを進める操作を行うと、ユーザ端末4は、予約内容を表示する。ここで、ユーザが予約を確定する操作を行うことで、対象のプレー枠が予約される。図7においては、何れのプレー枠情報も、プレー日が4月1日のプレー枠に対応する。プレー枠情報210~260は、スタート時刻が早い順に上から並べられている。具体的に、プレー枠情報210、220、230、240、250及び260の順に、プレー枠情報が表示されている。プレー枠情報210は、スタート時刻が8時16分であるプレー枠の情報である。プレー枠情報220~260は、何れもスタート時刻が8時23分であるプレー枠の情報である。例えば、図6(b)に示すような表示順位に従ってプレー枠情報220~260が表示されている。
表示制御部1103は、表示優先度に応じた表示態様でプレー枠情報を表示させてもよい。表示態様の例として、プレー枠情報のサイズ、プレー枠情報内の文字のサイズ、プレー枠情報又は文字の色彩等が挙げられる。表示制御部1103は、表示優先度が高いほど、より目立つ態様でプレー枠情報を表示させてもよい。例えば、表示制御部1103は、表示優先度が高いほど、プレー枠情報のサイズを大きくし、文字のサイズを大きくし、又はプレー枠情報内のコントラスト若しくはプレー枠情報とその外側との間のコントラストを強くしてもよい。
[1-4.ゴルフ場予約サーバの動作]
次に、ゴルフ場予約サーバ1の動作について、図8乃至図10を用いて説明する。ゴルフ場予約サーバ1のシステム制御部11は、サーバプログラムに含まれる各種プログラムコードに従って、図8乃至図10により示される処理を実行する。
図8は、ゴルフ場予約サーバ1のシステム制御部11による優先度決定処理の一例を示すフローチャートである。システム制御部11は、例えば定期的に天気予報DB14d内の天気予報情報を更新する。システム制御部11は、天気予報情報が更新されたゴルフ場において、天気予報情報が更新された日付及び時間帯に含まれるスタート時刻の各プレー枠について、優先度決定処理を実行してもよい。また、システム制御部11は、ユーザが予約を行ったり予約をキャンセルしたりすることにより予約者数に変化があったプレー枠について、優先度決定処理を実行してもよい。
図8に示すように、先ず天気情報取得部1101は、天気予報DB14dから、対象のプレー枠のゴルフ場ID、プレー日及びスタート時刻に対応するゴルフ場ID、日付及び時間帯の天気予報情報を取得する(ステップS101)。次いで、表示制御部1103は、対象のプレー枠の最少催行人数を取得する(ステップS102)。例えば、表示制御部1103は、予約タイムテーブルDB14gから、対象のプレー枠のゴルフ場IDとプレー日とスタート時刻との組み合わせに関連付けられたプランID、予約者数及び予約番号を取得する。表示制御部1103は、取得されたプランIDに関連付けられた最少催行人数を、プランDB14cから取得する。
次いで、履歴情報取得部1102は、取得された天気予報情報に基づいて、予想される天気が悪天であるか否かを判定する(ステップS103)。例えば、履歴情報取得部1102は、降水確率が所定確率以上である否か、風速が所定速度以上であるか否か、気温が第1の所定度以上であるか否か、気温が第2の所定度以下であるか否かを判定してもよい。天気が悪天ではない場合(ステップS103:NO)、表示制御部1103は、対象のプレー枠の予約者数が最少催行人数-1以上であるか否かを判定する(ステップS104)。予約者数が最少催行人数-1以上である場合(ステップS104:YES)、表示制御部1103は、表示優先度を5に決定する(ステップS105)。一方、予約者数が最少催行人数-1以上ではない場合(ステップS104:NO)、表示制御部1103は、表示優先度を2に決定する(ステップS106)。
予想される天気が悪天である場合(ステップS103:YES)、表示制御部1103は、対象のプレー枠の予約者数が、最少催行人数-1以上であるか否かを判定する(ステップS107)。予約者数が最少催行人数-1以上ではない場合(ステップS107:NO)、表示制御部1103は、表示優先度を1に決定する(ステップS108)。一方、予約者数が最少催行人数-1以上である場合(ステップS107:YES)、表示制御部1103は、予約者番号iを1に設定する(ステップS109)。次いで、表示制御部1103は、キャンセル率決定処理を実行する(ステップS110)。
図9は、ゴルフ場予約サーバ1のシステム制御部11によるキャンセル率決定の一例を示すフローチャートである。図9に示すように、履歴情報取得部1102は、予約情報DB14fから、i番目の予約者の過去のプレー日の予約情報を取得する(ステップS201)。例えば、履歴情報取得部1102は、優先度決定処理のステップS102で予約タイムテーブルDB14gから取得した予約番号のうち、i番目の予約番号に関連付けられた予約情報を、予約情報DB14fから取得する。履歴情報取得部1102は、この予約情報から、i番目の予約者の予約者IDを取得する。履歴情報取得部1102は、この予約者IDに関連付けられた予約情報のうち、プレー日が昨日以前である予約情報を、予約情報DB14fから全て取得する。
次いで、天気情報取得部1101は、過去天気DB14eから、i番目の予約者が予約したプレー枠についての過去天気情報を取得する(ステップS202)。例えば、天気情報取得部1101は、ステップS201で取得された各予約情報から、ゴルフ場ID、プレー日及びスタート時刻を取得する。天気情報取得部1101は、取得されたゴルフ場ID、プレー日及びスタート時刻に対応するゴルフ場ID、日付及び時間帯に関連付けられた過去天気情報を取得する。
次いで、表示制御部1103は、取得された予約情報及び過去天気情報に基づいて、i番目の予約者の悪天キャンセル率を計算する(ステップS203)。例えば、表示制御部1103は、予約情報及び過去天気情報に基づいて、i番目の予約者が予約した過去のプレー枠に対応する天候が悪天であるか否かを判定する。例えば、表示制御部1103は、降水量が所定量以上である否か、風速が所定速度以上であるか否か、気温が第1の所定度以上であるか否か、気温が第2の所定度以下であるか否かを判定してもよい。そして、表示制御部1103は、悪天であったプレー枠を特定するとともに、その予約数をカウントする。表示制御部1103は、悪天であった各プレー枠の予約情報のキャンセルフラグに基づいて、i番目の予約者がキャンセルした予約数をカウントする。最後に、表示制御部1103は、キャンセルされた予約数を、悪天であった予約数で除算することにより、悪天キャンセル率を計算して、キャンセル率決定処理は終了する。
図8に戻り、キャンセル率決定処理の後、表示制御部1103は、予約者番号iを1増加させる(ステップS111)。次いで、表示制御部1103は、予約者番号iが、ステップS102で取得された予約者数以下であるか否かを判定する(ステップS112)。予約者番号iが予約者数以下である場合(ステップS112:YES)、処理はステップS110に進む。一方、予約者番号iが予約者数以下ではない場合(ステップS112:NO)、対象のプレー枠の予約者のうち、悪天キャンセル率が50%未満である予約者の人数が、最少催行人数-1以上であるか否かを判定する(ステップS113)。悪天キャンセル率が50%未満である予約者の人数が、最少催行人数-1以上である場合(ステップS113:YES)、表示制御部1103は、表示優先度を4に決定する(ステップS114)。一方、悪天キャンセル率が50%未満である予約者の人数が、最少催行人数-1以上ではない場合(ステップS113:NO)、表示制御部1103は、表示優先度を3に決定する(ステップS115)。
表示優先度を決定すると(ステップS105、S106、S108、S114又はS115)、表示制御部1103は、予約タイムテーブルDB14gにおいて、対象のプレー枠のゴルフ場IDとプレー日とスタート時刻との組み合わせに関連付けられている表示優先度を、決定した表示優先度で更新して(ステップS116)、優先度決定処理は終了する。
図10は、ゴルフ場予約サーバ1のシステム制御部11によるプレー枠一覧提供処理の一例を示すフローチャートである。例えば制御部11は、プレー枠の一覧を含むコンテンツの要求をユーザ端末4から受信することに応じて、プレー枠一覧提供処理を実行する。
図10に示すように、先ず表示制御部1103は、予め設定された条件又はユーザにより指定された検索条件に合致するプレー枠を検索する(ステップS301)。次いで、表示制御部1103は、予め設定されたソート条件又はユーザにより指定されたソート条件に従って、検索された各プレー枠の情報の表示順位を決定する(ステップS302)。例えば、表示制御部1103は、ソート条件に対応するソート値の昇順又は降順で、検索されたプレー枠をソートする。
次いで、表示制御部1103は、表示順位Rを1に設定する(ステップS303)。次いで、表示制御部1103は、表示順位がRよりも下位であるプレー枠の中で、表示順位Rのプレー枠のソート値と同一のソート値を有するプレー枠があるか否かを判定する(ステップS304)。表示順位Rのプレー枠のソート値と同一のソート値を有するプレー枠がない場合(ステップS304:NO)、表示制御部1103は、表示順位Rを1増加させる(ステップS305)。一方、表示順位Rのプレー枠のソート値と同一のソート値を有するプレー枠がある場合(ステップS304:YES)、表示制御部1103は、互いに同一のソート値を有するプレー枠(表示順位Rのプレー枠を含む)それぞれの表示優先度を、予約タイムテーブルDB14gから取得する(ステップS306)。次いで、表示制御部1103は、取得された表示優先度に従って、互いにソート値が同一であるプレー枠の表示順位を入れ替える(ステップS307)。例えば、表示制御部1103は、表示優先度が高いほど、表示順位を高くする。同一のソート値を有するプレー枠の数をNとする場合、表示制御部1103は、R~R+N-1の範囲内で各プレー枠の表示順位を変更する。次いで、表示制御部1103は、表示順位Rを、同一のソート値を有するプレー枠の数分増加させる(ステップS308)。
表示順位Rを増加させた後(ステップS305又はS309)、表示制御部1103は、表示順位Rが、検索されたプレー枠の数以下であるか否かを判定する(ステップS309)。表示順位Rが検索されたプレー枠の数以下である場合(ステップS309:YES)、処理はステップS304に進む。一方、表示順位Rが検索されたプレー枠の数以下ではない場合(ステップS309:NO)、表示制御部1103は、プレー枠一覧を生成する(ステップS310)。例えば、表示制御部1103は、ゴルフ場DB14b、プランDB14c、予約タイムテーブルDB14g等に基づいて、各プレー枠のプレー枠情報を生成する。そして、表示制御部1103は、決定された表示順位に応じた並び順でプレー枠情報を並べて、プレー枠一覧を生成する。次いで、表示制御部1103は、生成されたプレー枠一覧を含むコンテンツをユーザ端末4へ送信して(ステップS311)、プレー枠一覧提供処理は終了する。
以上説明したように、本実施形態によれば、ゴルフ場予約サーバ1が、1人予約のプレーが可能であるゴルフ場の天気であって、そのゴルフ場のプレー枠のうち、未来のプレー時期のプレー枠における天気を示す天気情報を取得する。また、ゴルフ場予約サーバ1が、未来のプレー時期のプレー枠の予約者が予約した過去のプレー時期のプレー枠のうち、天気が悪天であるプレー枠に対するその予約者による予約のキャンセル状況の履歴を示す履歴情報を取得する。また、ゴルフ場予約サーバ1が、未来のプレー時期のプレー枠のうち、取得された天気情報により示される天気が悪天であるプレー枠の情報の表示の優先度を、取得された履歴情報に基づいて制御する。従って、ゴルフが開催される可能性が高いプレー枠の予約を促すことが可能に、プレー枠の情報を提供することができる。
このとき、ゴルフ場予約サーバ1が、天気が悪天であるプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者が予約した悪天のプレー枠の情報の優先度を、天気が悪天であるプレー枠の予約をキャンセルする傾向の度合いが所定度以上である予約者が予約した悪天のプレー枠の情報の優先度よりも高くしてもよい。この場合、ゴルフが開催される可能性が相対的に高いプレー枠の情報の表示を、ゴルフが開催される可能性が相対的に低いプレー枠の情報の表示よりも優先させることができる。
ここで、ゴルフ場予約サーバ1が、天気が悪天であるプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者の人数が最少催行人数よりも1人少ない人数以上である悪天のプレー枠の情報の優先度を、予約者の人数が最少催行人数よりも1人少ない人数以上である悪天のプレー枠のうち、天気が悪天であるプレー枠の予約をキャンセルする傾向の度合いが所定度未満である予約者の人数が最少催行人数よりも1人少ない人数未満であるプレー枠の情報の優先度よりも高くしてもよい。この場合、ゴルフが開催される可能性が高い方のプレー枠の情報の表示を優先させることができる。
[2.第2実施形態]
次に、図11及び図12を用いて第2実施形態を説明する。以下に説明する点を除き、第2実施形態は第1実施形態と同一であってもよい。本実施形態において、ゴルフ場予約サーバ1は、プレー枠情報の提示先のユーザが悪天でゴルフをプレーする傾向に基づいて、悪天と予想されるプレー枠のプレー枠情報の表示優先度を決定してもよい。
具体的に、履歴情報取得部1102は、プレー枠情報の提示先のユーザが予約した過去のプレー時期のプレー枠のうち、天気が悪天であるプレー枠に対するそのユーザによる予約のキャンセル状況の履歴を示す履歴情報を取得する。取得される履歴情報は、第1実施形態と同様に、予約情報、決済情報及びプレー履歴のうち少なくとも何れか一つであってもよい。
表示制御部1103は、プレー枠情報の提示先のユーザについての履歴情報に更に基づいて、プレー枠情報の表示優先度を制御する。具体的に、表示制御部1103は、対象のユーザが悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度未満である場合、予約者数が最少催行人数よりも1人少ない人数以上である悪天が予想される未来のプレー時期のプレー枠の情報の表示と、好天が予想される未来のプレー時期のプレー枠の情報の表示と、の何れを優先させるかを、好天が予想される未来のプレー時期のプレー枠の予約者の人数に基づいて決定してもよい。悪天のプレー枠の予約をキャンセルする傾向が低いユーザは、悪天が予想されるものの予約者数からゴルフの開催が見込まれるプレー枠を予約する可能性がある。この場合、ゴルフが開催される可能性に応じてプレー枠の情報の表示優先度を決定するのがよい。プレー枠でゴルフが開催される可能性は、そのプレー枠の現時点の予約者数によって変化する。従って、好天が予想されるプレー枠の現時点の予約者数から、そのプレー枠でゴルフが開催される可能性と、悪天が予想されるものの予約者数からゴルフの開催が見込まれるプレー枠でそのゴルフが開催される可能性と、の何れが高いかが変わる。
一方、表示制御部1103は、対象のユーザが悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度以上である場合、好天が予想される未来のプレー時期のプレー枠の予約者の人数に関係なく、好天が予想される未来のプレー時期のプレー枠の情報の表示を、悪天が予想される未来のプレー時期のプレー枠の情報の表示よりも優先させてもよい。悪天のプレー枠の予約をキャンセルする傾向が高いユーザは、悪天が予想されるプレー枠をそもそも予約しない可能性が高い。そこで、悪天が予想されるプレー枠の表示優先度を更に低くすることで、ユーザにとって不要なプレー枠の情報がそのユーザの目に触れる可能性を低くすることができる。
より具体的には、対象のユーザが悪天のプレー枠の予約をキャンセルする傾向の度合いが所定度未満である場合、図6(a)に示すように、表示制御部1103は、予約者数が最少催行人数よりも1人少ない人数以上である好天が予想される第1のプレー枠の情報の表示を、予約者数が最少催行人数よりも1人少ない人数以上である悪天が予想される第2及び第3のプレー枠の情報の表示よりも優先させるとともに、第2及び第3のプレー枠の情報の表示を、予約者数が最少催行人数よりも1人少ない人数未満である好天が予想される第4のプレー枠の情報の表示よりも優先させてもよい。
図11は、対象のユーザが悪天のプレー枠の予約をキャンセルする傾向の度合いが高い場合における天気と予約者数との組み合わせと表示優先度との関係の一例を示す図である。図11が図6(a)と異なる点は、図11において、悪天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数以上である2種類のプレー枠の情報の表示優先度が、好天が予想され、且つ、予約者数が最少催行人数よりも1人少ない人数未満であるプレー枠の情報の表示優先度よりも低くなっていることである。全体として、悪天が予想されるプレー枠の表示優先度が、好天が予想されるプレー枠の表示優先度よりも低くなっている。
図12は、ゴルフ場予約サーバ1のシステム制御部11によるプレー枠一覧提供処理の一例を示すフローチャートである。図12において、図10と同一のステップについては同一の符号が付されている。図12に示すように、先ず表示制御部1103は、キャンセル率決定処理を実行する(ステップS401)。ゴルフ場予約サーバ1へコンテンツの要求を送信してきたユーザ端末4のユーザの予約情報を用いて、そのユーザの悪天キャンセル率が計算される点を除き、ステップS401のキャンセル率決定処理は、図9に示すキャンセル率決定処理と同一であってもよい。次いで、ステップS302~S304が実行され、S304の判定結果に応じて、ステップS305又はS306が決定される。ステップS306の後、表示制御部1103は、コンテンツの要求を送信してきたユーザ端末4のユーザの悪天キャンセル率が50%未満であるか否かを判定する(ステップS402)。悪天キャンセル率が50%未満である場合(ステップS402:YES)、ステップS307が実行される。悪天キャンセル率が50%未満ではない場合(ステップS402:NO)、表示制御部1103は、ステップS306で取得された表示優先度を変更する(ステップS403)。例えば、表示制御部1103は、4を示す表示優先度を3に変更し、3を示す表示優先度を2に変更し、2を示す表示優先度を4に変更する。次いで、表示制御部1103は、変更後の表示優先度に従って、互いにソート値が同一である各プレー枠の表示順位を変更する(ステップS307)。ステップS307の後、ステップS308及びS309が実行され、ステップS309の判定結果に応じて、ステップS304が実行され、又はステップS310及びS311が実行される。
以上説明したように、本実施形態によれば、情報提供先のユーザが、天気が悪天であるプレー枠の予約をキャンセルする傾向が低い場合、ゴルフが開催される可能性が高い方のプレー枠の情報の表示を優先させることができる。また、情報提供先のユーザが、天気が悪天であるプレー枠の予約をキャンセルする傾向が高い場合、そのユーザにより予約される可能性が高い方のプレー枠の表示を優先させることができる。