以下、実施形態について図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態に係るスケジュール管理システムの一例の構成を示す図である。図1に示すように、インターネット等のネットワーク1には、アクセスポイント2−1を介してコンピュータC−1が接続され、アクセスポイント2−2を介してコンピュータC−2が接続される。また、ネットワーク1には、基地局3−1を介して携帯型情報機器S−1が接続され、基地局3−2を介して携帯型情報機器S−2が接続される。以下、実施形態において、構成要素を区別して説明する必要がない場合には、ハイフンを省略して説明する。
また、ネットワーク1には、スケジュール管理支援装置の一例としてのサーバ4が接続されている。
コンピュータC−1、C−2、携帯型情報機器S−1、S−2は、スケジューラを利用するユーザにより使用される。実施形態におけるスケジューラは、スケジュール管理機能を提供するプログラムである。コンピュータC及び携帯型情報機器S(以下、「クライアント」という。)は、サーバ4からダウンロードされたスケジュール画面を表示する。スケジュール画面上で、ユーザは、予定を確認したり、予定を登録したりする。
サーバ4は、CPU12、通信部13、メモリ14、及び記憶装置15を有する。CPU12、通信部13、メモリ14、記憶装置15は、互いに通信できるようにバス11に接続されている。
CPU12は、記憶装置15に記憶されているスケジュール管理プログラム22及びスケジュール管理支援プログラム23に従って、ユーザのスケジュール管理及びその支援のための処理を実行する。CPU12に代えて、MPU、GPU等が用いられてもよい。また、CPU12は、1つのCPUによって構成されている必要はなく、複数のCPUによって構成されてもよい。
通信部13は、ネットワーク1を介したクライアント等の外部装置との通信の処理をするように構成されたインタフェースを含むモジュールである。通信部13は、例えば有線回線を使用してネットワーク1に接続するように構成されている。通信部13は、無線回線を使用してネットワーク1に接続するように構成されていてもよい。
メモリ14は、例えばRAMであり、CPU12における処理に必要とされるワークエリア等で使用される。
記憶装置15は、例えばハードディスクドライブ(HDD)、ソリッドステートドライブといった記憶装置である。記憶装置15は、サーバ4の動作に必要な各種のプログラム及びデータを格納している。実施形態では、記憶装置15は、OS(オペレーティングシステム)21、スケジュール管理プログラム22、スケジュール管理支援プログラム23、データベース(DB)24を格納している。記憶装置15は、クライアントに対して各種のサービスを提供するための前述した以外のプログラム等を格納していてもよい。
OS21は、サーバ4の基本的な機能を実現するためのプログラムである。記憶装置15に格納されている各種のプログラムは、OSの制御下で実行される。
スケジュール管理プログラム22は、ユーザに対してスケジューラを提供するためのプログラムである。例えば、スケジュール管理プログラム22は、ユーザによって入力された予定をDB24に登録することをCPU12に実行させる。また、スケジュール管理プログラム22は、ユーザによって入力された予定を例えばカレンダー上に表示することをCPU12に実行させる。さらに、スケジュール管理プログラム22は、スケジュールの報知のタイミング管理をCPU12に実行させてもよい。
スケジュール管理支援プログラム23は、スケジュール管理プログラム22によって管理されるユーザのスケジュールに補足情報を加えるためのプログラムである。スケジュール管理支援プログラム23は、DB24に登録されているユーザの予定の情報から補足情報の生成に必要な情報を抽出することと、抽出した情報に基づいてDB24の情報を参照することと、参照結果に従って補足情報を生成することと、補足情報をもとのスケジュールの情報に追加することとをCPU12に実行させる。補足情報は、例えばユーザの予定の確認に資する追加のコメントである。
データベース24は、スケジュール管理プログラム22とスケジュール管理支援プログラム23とに従って実行される処理において使用される各種のデータベースである。例えばデータベース24は、スケジュール管理DB241、顧客情報DB242、訪問履歴DB243、クレーム管理DB244を含む。
図2は、スケジュール管理DB241の一例の構成を示す図である。スケジュール管理DB241は、スケジュール管理プログラム22の実行に伴って登録されたスケジュールの情報を格納するデータベースである。スケジュール管理DB241の内容は、スケジュール管理プログラム22のユーザ毎に管理される。スケジュール管理DB241は、例えば、「予定ID」、「日時」、「場所」、「内容」、「コメント」、「追加コメント」の項目を含む。「予定ID」は、登録される予定毎に割り振られるIDである。「日時」は、予定が発生する日時である。「日時」は、1日のある時刻でなく、期間で指定されてもよい。「場所」は、予定が発生する場所である。「場所」は、ユーザが自由に記入できるようになっていてもよいし、幾つかの選択肢の中からユーザが自由に選択できるようになっていてもよい。「内容」は、予定の内容である。「内容」は、ユーザが自由に記入できるようになっていてもよいし、幾つかの選択肢の中からユーザが自由に選択できるようになっていてもよい。「コメント」は、ユーザによって自由に記入されるコメントである。「追加コメント」は、後で説明するスケジュール追加処理によって自動的に追加される補足情報を表すコメントである。スケジュール管理DB241は、「日時」、「場所」、「内容」、「コメント」、「追加コメント」以外の項目を有していてもよい。
図3は、顧客情報DB242の一例の構成を示す図である。顧客情報DB242は、ユーザの顧客に関する情報を格納するデータベースである。顧客情報DB242は、例えば、「顧客ID」、「顧客名」、「住所」、「電話番号」、「URL」、「訪問回数」の項目を含む。「顧客ID」は、登録される顧客毎に割り振られるIDである。「顧客名」は、顧客の名称である。顧客名は、個人名であってもよいし、法人名であってもよい。また、顧客は、その顧客に属する担当者毎の名前であってもよい。「顧客名」は、ユーザが自由に記入できるようになっていてもよいし、幾つかの選択肢の中からユーザが自由に選択できるようになっていてもよい。例えば、ユーザによって文字が入力されたときにその文字と同じ読みを先頭に含む顧客名の選択肢がユーザに提示され、ユーザはその中から所望の顧客名を選択してもよい。「住所」は、顧客の住所である。「電話番号」は、顧客の電話番号である。「URL」は、顧客のホームページのURLである。「訪問回数」は、顧客への累計の訪問回数である。「住所」、「電話番号」、「URL」は、ユーザが自由に記入できるようになっていてよい。「訪問回数」は、訪問履歴DB243に情報が登録される毎に更新される。顧客情報DB242は、「顧客名」、「住所」、「電話番号」、「URL」、「訪問回数」以外の項目を有していてもよい。
図4は、訪問履歴DB243の一例の構成を示す図である。訪問履歴DB243は、顧客への訪問履歴の情報を格納するデータベースである。訪問履歴DB243は、例えば、「訪問履歴ID」、「訪問日」、「担当者」、「訪問先」、「面談者」、「内容」の項目を含む。「訪問履歴ID」は、登録される訪問毎に割り振られるIDである。「訪問日」は、実際に顧客への訪問が実施された日時である。「訪問日」は、1日のある時刻でなく、期間で指定されてもよい。「担当者」は、顧客への訪問を実施したユーザの氏名である。「訪問先」は、訪問先の名称である。「訪問先」は、個人であってもよいし、法人であってもよい。「面談者」は、訪問先で面談した人物の氏名である。「内容」は、訪問の内容である。「訪問日」、「担当者」、「訪問先」、「面談者」、「内容」は、ユーザが自由に記入できるようになっていてよい。訪問履歴DBは、「訪問日」、「担当者」、「訪問先」、「面談者」、「内容」以外の項目を有していてもよい。
図5は、クレーム管理DB244の一例の構成を示す図である。クレーム管理DB244は、顧客からのクレームの情報を格納するデータベースである。ここで、実施形態における「クレーム」は、顧客からのマイナスの評価に限らず、顧客からのプラスの評価も含まれていてよい。クレーム管理DB244は、例えば、「クレームID」、「クレームの分類」、「顧客担当者名」、「担当者名」、「内容」の項目を含む。「クレームID」は、登録されるクレーム毎に割り振られるIDである。「クレーム分類」は、クレームの大まかな分類を示す情報である。「クレーム分類」の内容は、予め固定的に設定されていてもよいし、ユーザが設定できるようになっていてもよい。また、「顧客担当者名」は、クレームをした顧客の担当者の名前である。「担当者名」は、クレームを受けた案件の担当者のユーザの氏名である。「内容」は、クレームの実際の内容である。「内容」の項目は、ユーザが自由に記入できるようになっていてよい。クレーム管理DB244は、「クレームID」、「クレームの分類」、「顧客担当者名」、「担当者名」、「内容」以外の項目を有していてもよい。
以下、実施形態のスケジュール管理システムの動作を説明する。図6は、スケジュール管理システムのサーバ4の動作を示すフローチャートである。図6の処理は、サーバ4のCPU12によって制御される。なお、図6の処理に、ユーザによって設定されたタイミングになったときに予め登録されていた予定の内容をユーザに通知する処理が追加されてもよい。
ステップS1において、CPU12は、クライアントからのログイン要求があるか否かを判定する。クライアントのユーザは、クライアントであるスマートフォン等を操作してブラウザを起動し、サーバ4にアクセスするためのURLの入力をする。このようなアクセスのための操作があったときに、CPU12は、ログイン要求があると判定する。ステップS1において、ログイン要求があると判定されたとき、処理はステップS2に移行する。ステップS1において、ログイン要求がないと判定されたとき、処理はステップS14に移行する。
ステップS2において、CPU12は、ログイン画面を表示させるためのデータをクライアントに送信する。このデータを受けてクライアントのディスプレイには、ログイン画面が表示される。ログイン画面は、例えばユーザ毎に設定されたIDとパスワードとを要求する画面である。ログインは、必ずしもIDとパスワードとによって行われなくてもよい。ログイン画面の表示後、処理はステップS3に移行する。
ステップS3において、CPU12は、認証が正しく行われたか否かを判定する。例えば、入力されたID及びパスワードが予め登録されているID及びパスワードと一致したときには、認証が正しく行われたと判定される。ステップS3において、認証が正しく行われたと判定されたときには、処理はステップS4に移行する。ステップS3において、認証が正しく行われていないと判定されたときには、処理は待機される。所定回数、認証が正しく行われなかった場合に、ログインできなくする等の処理が行われてもよい。
ステップS4において、CPU12は、スケジュール管理プログラム22を起動して、スケジュール画面を表示させるためのデータをクライアントに送信する。このデータを受けてクライアントのディスプレイには、スケジュール画面が表示される。
図7は、一例のスケジュール画面を示す図である。スケジュール画面は、カレンダーD1を含む。カレンダーD1には、例えば現在日時を含む1月分のカレンダーが表示される。
また、カレンダーD1には、ユーザ名D2が表示される。ユーザ名D2は、例えばログインをしたユーザの名前である。ユーザ名D2は、ユーザのID等であってもよい。さらに、ユーザ名D2として、ユーザの名前に加えて、ユーザの所属部署等が併せて表示されてもよい。
また、カレンダーD1には、ユーザによって予めスケジュール管理DB241に登録された内容に従ってユーザの予定D3が表示される。図7では、ユーザU1の予定D3のみが表示されている。これに限らず、ユーザU1と同じ部署のユーザの予定等も併せて表示されてよい。
さらに、詳細は後で説明するが、カレンダーD1には、スケジュール管理支援プログラム23に従って追加された補足情報に基づいてスケジュール管理DB241に登録された追加コメントD4が表示される。図7では、「13:00にB様と面談」との内容に関連する、面談先の最寄り駅についての追加コメントが表示されている例が示されている。また、図7では、「10:00にA様との面談」との内容に関連する、面談先の最寄り駅についてのコメントと、顧客である「A様」からのクレーム件数が多いことについての追加コメントが表示されている例が示されている。
さらに、スケジュール画面は、先月ボタンB1、翌月ボタンB2、顧客ボタンB3、訪問履歴ボタンB4、クレームボタンB5といったソフトウェアボタンを含む。先月ボタンB1は、カレンダーD1に表示されるカレンダーを1月前に戻す操作をするためのボタンである。翌月ボタンB2は、カレンダーD1に表示されるカレンダーを1月先に進める操作をするためのボタンである。顧客ボタンB3は、顧客情報の登録画面を表示させる操作をするためのボタンである。訪問履歴ボタンB4は、訪問履歴の登録画面を表示させる操作をするためのボタンである。クレームボタンB5は、クレーム情報の登録画面を表示させる操作をするためのボタンである。スケジュール画面は、これら以外のソフトウェアボタンを含んでいてもよい。
ここで、図6の説明に戻る。スケジュール画面を表示させた後のステップS5において、CPU12は、ユーザによるスケジュール登録操作がされたか否かを判定する。スケジュール登録操作は、例えばカレンダーD1内の日付の選択操作である。例えば、ユーザはクライアントを操作して、ディスプレイに表示されているカレンダーD1内の所望の日付を選択する。この選択操作がCPU12に通知されたときに、CPU12は、ユーザによるスケジュール登録操作がされたと判定する。ステップS5において、スケジュール登録操作がされたと判定されたときには、処理はステップS6に移行する。ステップS5において、スケジュール登録操作がされていないと判定されたときには、処理はステップS7に移行する。
ステップS6において、CPU12は、ユーザによるクライアントの操作を受けて入力されたスケジュール情報をスケジュール管理DB241に登録する。スケジュール情報の登録に際し、CPU12は、例えば前述した「日時」、「場所」、「内容」、「コメント」といった項目を含むスケジュール情報の登録用の子画面をスケジュール画面上に表示させる。ユーザは、この子画面上で所望の内容を入力する。これを受けて、CPU12は、入力された「日時」、「場所」、「内容」、「コメント」に対して「予定ID」を付してこれらのスケジュール情報のデータをスケジュール管理DB241に格納する。スケジュール情報の一部の内容の編集のみであるときには、ユーザによって修正された内容でスケジュール管理DB241を更新する。その後、処理はステップS7に移行する。
ステップS7において、CPU12は、ユーザによる顧客登録操作がされたか否かを判定する。顧客登録操作は、例えば顧客ボタンB3の選択操作である。例えば、ユーザはクライアントを操作して、ディスプレイに表示されている顧客ボタンB3を選択する。この選択操作がCPU12に通知されたときに、CPU12は、ユーザによる顧客登録操作がされたと判定する。ステップS7において、顧客登録操作がされたと判定されたときには、処理はステップS8に移行する。ステップS7において、顧客登録操作がされていないと判定されたときには、処理はステップS9に移行する。
ステップS8において、CPU12は、ユーザによるクライアントの操作を受けて入力された顧客情報を顧客情報DB242に登録する。顧客情報の登録に際し、CPU12は、例えば前述した「顧客名」、「住所」、「電話番号」、「URL」といった項目を含む顧客情報の登録用の子画面をスケジュール画面上に表示させる。ユーザは、この子画面上で所望の内容を入力する。これを受けて、CPU12は、入力された「顧客名」、「住所」、「電話番号」、「URL」に対して「顧客ID」を付してこれらの登録情報のデータを顧客情報DB242に格納する。また、「訪問回数」には「0回」を格納する。顧客情報の一部の内容の編集のみであるときには、ユーザによって修正された内容で顧客情報DB242を更新する。その後、処理はステップS9に移行する。
ステップS9において、CPU12は、ユーザによる訪問履歴登録操作がされたか否かを判定する。訪問履歴登録操作は、例えば訪問履歴ボタンB4の選択操作である。例えば、ユーザはクライアントを操作して、ディスプレイに表示されている訪問履歴ボタンB4を選択する。この選択操作がCPU12に通知されたときに、CPU12は、ユーザによる訪問履歴登録操作がされたと判定する。ステップS9において、訪問履歴登録操作がされたと判定されたときには、処理はステップS10に移行する。ステップS9において、訪問履歴登録操作がされていないと判定されたときには、処理はステップS11に移行する。
ステップS10において、CPU12は、ユーザによるクライアントの操作を受けて入力された訪問履歴を訪問履歴DB243に登録する。訪問履歴の登録に際し、CPU12は、例えば前述した「訪問日」、「担当者」、「訪問先」、「面談者」、「内容」といった項目を含む訪問履歴の登録用の子画面をスケジュール画面上に表示させる。ユーザは、この子画面上で所望の内容を入力する。これを受けて、CPU12は、入力された「訪問日」、「担当者」、「訪問先」、「面談者」、「内容」に対して「訪問履歴ID」を付してこれらの訪問履歴のデータを訪問履歴DB243に格納する。また、このとき、CPU12は、「訪問先」に格納された顧客名と対応する「顧客名」を有する顧客情報DB242の「訪問回数」に「1」を加える。訪問履歴の一部の内容の編集のみであるときには、ユーザによって修正された内容で訪問履歴DB243を更新する。その後、処理はステップS11に移行する。
ステップS11において、CPU12は、ユーザによるクレーム登録操作がされたか否かを判定する。クレーム登録操作は、例えばクレームボタンB5の選択操作である。例えば、ユーザはクライアントを操作して、ディスプレイに表示されているクレームボタンB5を選択する。この選択操作がCPU12に通知されたときに、CPU12は、ユーザによるクレーム登録操作がされたと判定する。ステップS11において、クレーム登録操作がされたと判定されたときには、処理はステップS12に移行する。ステップS11において、クレーム登録操作がされていないと判定されたときには、処理はステップS13に移行する。
ステップS12において、CPU12は、ユーザによるクライアントの操作を受けて入力されたクレーム情報をクレーム管理DB244に登録する。クレーム情報の登録に際し、CPU12は、例えば前述した「クレームの分類」、「顧客担当者名」、「担当者名」、「内容」といった項目を含むクレーム情報の登録用の子画面をスケジュール画面上に表示させる。ユーザは、この子画面上で所望の内容を入力する。これを受けて、CPU12は、入力された「クレームの分類」、「顧客担当者名」、「担当者名」、「内容」に対して「クレームID」を付してこれらのクレーム情報のデータをクレーム管理DB244に格納する。クレーム情報の一部の内容の編集のみであるときには、ユーザによって修正された内容でクレーム管理DB244を更新する。その後、処理はステップS13に移行する。
ステップS13において、CPU12は、スケジュール管理プログラム22を終了するか否かを判定する。例えば、ユーザがクライアントを操作してブラウザを終了させたときには、CPU12は、スケジュール管理プログラム22を終了すると判定する。ステップS13において、スケジュール管理プログラム22を終了しないと判定されたときには、処理はステップS4に戻る。この場合には、処理は継続される。なお、このときまでに各種のデータベースの情報が更新されているときには、CPU12は、更新の内容に従ってスケジュール画面の表示内容を更新する。ステップS13において、スケジュール管理プログラム22を終了すると判定されたときには、CPU12は、図6の処理を終了させる。
ステップS1において、ログイン要求がないと判定されたときのステップS14において、CPU12は、スケジュール管理支援プログラム23を起動してスケジュール追加処理を行う。スケジュール追加処理の後、CPU12は、処理をステップS13に移行させる。
図8は、スケジュール追加処理について示すフローチャートである。ステップS101において、CPU12は、現在、スケジュール追加処理を実施するタイミングであるか否かを判定する。スケジュール追加処理を実施するタイミングは、例えば、毎日の所定時刻、例えば午前5:00である。この他、スケジュール追加処理を実施するタイミングは、ユーザによる実施の指示があったタイミング、サーバ4の管理者による実施の指示があったタイミングといったタイミングを含む。この他、スケジュール追加処理を実施するタイミングは、任意に設定され得る。ステップS101において、スケジュール追加処理を実施するタイミングでないと判定されたとき、CPU12は、図8の処理を終了させる。ステップS101において、スケジュール追加処理を実施するタイミングであると判定されたとき、処理はステップS102に移行する。
ステップS102において、CPU12は、スケジュール管理DB241からスケジュール情報を取得する。
ステップS103において、CPU12は、スケジュール情報を解析する。例えば、CPU12は、スケジュール管理DB241のスケジュール情報を例えば形態素解析し、それぞれの形態素を顧客情報DB242の顧客情報、訪問履歴DB243の訪問履歴等と照合することで、スケジュール情報から顧客に関する情報を抽出する。例えば、図2の「ID1」を例にとると、「ID1」には、「場所」として「株式会社〇〇」が格納されている。「株式会社〇〇」は、顧客情報DB242の「顧客名」に登録されているので、顧客に関する情報として抽出される。また、「コメント」には、「担当者A様と面談」が格納されている。「A様」は、訪問履歴DB243に「株式会社〇〇」の担当者であることが登録されているので、顧客に関する情報として抽出される。なお、このようなスケジュール情報の解析の手法は、一例である。後で説明する補足情報を生成するのに必要な情報を抽出できる手法であれば、スケジュール情報の解析の手法は、特定の手法に限定されない。
ステップS104において、CPU12は、スケジュール情報から顧客に関する情報を抽出できたか否かを判定する。ステップS104において、スケジュール情報から顧客に関する情報を抽出できていないと判定されたときには、CPU12は、図8の処理を終了させる。この場合、補足情報の生成は行われない。ステップS104において、スケジュール情報から顧客に関する情報を抽出できたと判定されたときには、処理はステップS105に移行する。
ステップS105において、CPU12は、顧客に関する情報を抽出できたスケジュール情報に「訪問」が含まれているか否かを判定する。ここでの「訪問」は、ユーザが顧客の場所まで行く面談等を意味する。スケジュール情報に「訪問」が含まれているか否かは、例えばスケジュール情報の「場所」によって判定され得る。つまり、「場所」がユーザの自社でないスケジュール情報があるときには、スケジュール情報に「訪問」が含まれていると判定される。ステップS105において、スケジュール情報に「訪問」が含まれていると判定されたときには、処理はステップS106に移行する。ステップS105において、スケジュール情報に「訪問」が含まれていないと判定されたときには、処理はステップS107に移行する。
ステップS106において、CPU12は、最寄り駅に関する追加コメントを生成する。この追加コメントは、例えば、図7の「最寄り駅〇△」といった最寄り駅の駅名を示すコメントである。追加コメントの生成後、CPU12は、生成した追加コメントのデータを、対応するスケジュール情報の「追加コメント」に格納する。その後、処理はステップS107に移行する。ステップS106において、例えば、CPU12は、「訪問」であるスケジュール情報に格納されている「場所」の情報に基づき、訪問先の最寄り駅の情報を取得する。例えば、最寄り駅は、顧客情報DB243に格納されている顧客情報である「住所」との距離が最短の駅である。距離が最短である駅名は、顧客情報である「住所」までの徒歩による距離が最短である駅名、又は顧客情報である「住所」までの車両を利用した距離が最短である駅名の何れか又は両方であってよい。最寄り駅の情報を取得するための駅名と駅の住所との情報は、例えば記憶装置15に予め記憶されている情報が利用されてもよいし、ネットワーク経由の所定のサーバ等に記憶されている情報が利用されてもよい。さらには、サーバ4に外出の費用精算のデータがあれば、この費用精算のデータから最寄り駅が推定され得る。このような最寄り駅についてのコメントが追加されることにより、ユーザが事前に時刻表等を調べる際の参考とすることができる。
ステップS107において、CPU12は、顧客に関する情報を抽出できたスケジュール情報に含まれる顧客のホームページが更新されているか否かを判定する。例えば、CPU12は、顧客情報DB242の「URL」によって特定されるホームページの最終更新日時を参照する。そして、CPU242は、訪問履歴DB243を参照してユーザと顧客との前回の面談の日時とホームページの最終更新日とを比較し、最終更新日の方が後であればホームページが更新されていると判定する。ステップS107において、ホームページが更新されていると判定されたときには、処理はステップS108に移行する。ステップS108において、ホームページが更新されていないと判定されたときには、処理はステップS109に移行する。
ステップS108において、CPU12は、ホームページに関する追加コメントを生成する。この追加コメントは、例えば、「ホームページが更新されています」といったコメントである。追加コメントの生成後、CPU12は、生成した追加コメントのデータを、対応するスケジュール情報の「追加コメント」に格納する。その後、処理はステップS109に移行する。このようなホームページについてのコメントが追加されることにより、ユーザは事前にホームページを確認し、面談の際の話題作り等に利用することができる。
ステップS109において、CPU12は、顧客に関する情報を抽出できたスケジュール情報に含まれる顧客との前回の面談から期間が空いているか否かを判定する。例えば、CPU12は、訪問履歴DB243を参照してユーザと顧客との前回の面談の日と現在の日とを比較し、その差が所定期間、例えば2月、半年といった期間であれば前回の面談から期間が空いていると判定する。ステップS109において、前回の面談から期間が空いていると判定されたときには、処理はステップS110に移行する。ステップS109において、前回の面談から期間が空いていないと判定されたときには、処理はステップS112に移行する。
ステップS110において、CPU12は、面談期間に関する追加コメントを生成する。この追加コメントは、例えば、「2か月ぶりの面談です」といった面談期間が空いていたことを示すコメントである。この面談が訪問であるときには、「2か月ぶりの訪問です」といったコメントに置き換えられてもよい。追加コメントの生成後、CPU12は、生成した追加コメントのデータを、対応するスケジュール情報の「追加コメント」に格納する。その後、処理はステップS111に移行する。
ステップS111において、CPU12は、面談回数に関する追加コメントを生成する。この追加コメントは、例えば「2回目の訪問です」といったコメントである。面談回数は、顧客情報DB242の「訪問回数」から取得され得る。追加コメントの生成後、CPU12は、生成した追加コメントのデータを、対応するスケジュール情報の「追加コメント」に格納する。その後、処理はステップS113に移行する。このような面談期間についてのコメントが追加されることにより、ユーザの話題作りの際の参考とすることができる。
ステップS112において、CPU12は、直近の面談状況に関する追加コメントを生成する。この追加コメントは、例えば「前回、××について面談しました」といった前回の面談の内容のコメントである。前回の面談の内容は、訪問履歴DB244の「内容」から取得され得る。追加コメントの生成後、CPU12は、生成した追加コメントのデータを、対応するスケジュール情報の「追加コメント」に格納する。その後、処理はステップS113に移行する。
ステップS113において、CPU12は、顧客に関する情報を抽出できたスケジュール情報に含まれる顧客又は顧客担当者の中で、クレーム回数が多い顧客又は顧客担当者が含まれているか否かを判定する。例えば、CPU12は、クレーム管理DB243を参照し、ユーザとの面談が予定されている顧客又は顧客担当者の中で、クレーム回数が所定回数、例えば3回以上である顧客又は顧客担当者が含まれているときに、クレーム回数が多い顧客又は顧客担当者が含まれていると判定する。ステップS113において、クレーム回数が多い顧客又は顧客担当者が含まれていると判定されたときには、処理はステップS114に移行する。ステップS113において、クレーム回数が多い顧客又は顧客担当者が含まれていないと判定されたときには、CPU12は、図8の処理を終了させる。
ステップS114において、CPU12は、クレーム回数についての追加コメントを生成する。この追加コメントは、例えば「クレーム件数が多いようです。ご注意ください」といったユーザに対して注意を促す内容のコメントである。追加コメントの生成後、CPU12は、生成した追加コメントのデータを、対応するスケジュール情報の「追加コメント」に格納する。その後、CPU12は、図8の処理を終了させる。このようなクレーム件数についてのコメントが追加されることにより、ユーザの注意を促すことができる。
以上説明したように本実施形態によれば、データベースに登録されている情報に基づき、ユーザによって予め登録された予定に対する補足情報である追加コメントが追加される。これにより、ユーザの手間をかけることなく、スケジュール管理に関する多くの情報をユーザに対して提供することができる。
ここで、第1の実施形態において説明した追加コメントの生成処理及び追加コメントの内容は一例である。これらは適宜に変更されてよい。例えば、予定として会議が登録されていて、かつ、会議の予定の登録と合わせて会議室の予約がされている場合に、CPU12は、会議の終了予定時刻の所定時間以内に別の予約が入っているか否かを判定する。そして、別の予約が入っている場合には、CPU12は、「終了予定時刻の〇分後に△の予定が入っています」といったユーザに注意を喚起するための追加コメントを追加してもよい。
また、予め事前の申請を要する予定が登録されているときには、CPU12は、予定の前日といった所定の期日までに申請がされているか否かを判定する。そして、申請がされていないときには、CPU12は、追加コメントとして「〇の申請がされていません」といったユーザに注意を喚起するための追加コメントを追加してもよい。予め事前の申請を要する予定は、例えば、休暇、出張といった予定を含む。
また、プロジェクトを管理している会社で、そのプロジェクトに基づく業務が予定として登録されている場合、CPU12は、その前後の業務に関わる追加コメントを追加してもよい。
[第2の実施形態]
次に、第2の実施形態を説明する。第2の実施形態は、第1の実施形態で説明したスケジュール管理プログラム及びスケジュール管理支援プログラムの、読み上げ装置への適用例である。読み上げ装置は、例えば、スマートフォン等のクライアントにインストールされるアプリケーションプログラムとしてユーザに提供される。この読み上げ装置は、スケジュール管理プログラム及びスケジュール管理支援プログラムの処理によって生成されたスケジュールを音声によって読み上げる。
図9は、読み上げ装置の処理を示すフローチャートである。図9の処理は、例えば読み上げ装置としての読み上げアプリケーションが起動されたときに開始される。ステップS201において、クライアントは、ディスプレイにスケジュール画面を表示させる。
図10は、例えばスマートフォンに表示される一例のスケジュール画面を示す図である。スケジュール画面は、終日予定表示欄D11と、予定表示欄D12とを含む。終日予定表示欄D11は、終日を通しての予定が表示される表示欄である。図10は、終日を通しての予定がない時の表示例である。一方、終日を通しての予定が多くある場合には、終日予定表示欄D11の範囲は広げられてよい。予定表示欄D12は、当日の予定が時系列で表示される表示欄である。それぞれの予定の期間はタイムバー形式で表示され、それぞれの予定の内容は、例えば吹き出し形式のコメントD121、D122で表示される。これらのコメントD121、D122は、例えばサーバ4のスケジュール管理DB241を参照して取得されてよい。ここで、吹き出し形式のコメントのうち、読み上げ中のコメントはその詳細も含めて表示される。図10では、コメントD122が読み上げ中であることを示す。また、それぞれのコメントD121、D122は色等が変えられることによって識別できるようになっていてもよい。さらに、コメントD121、D122等は可能な限り、重ならないようにその表示位置が制御されてよい。
また、スケジュール画面は、再生ボタンB11、巻き戻しボタンB12、早送りボタンB13、フィルタボタンB14を含む。再生ボタンB11は、読み上げの開始の操作のためのボタンである。再生ボタンB11は、停止ボタンとのトグルボタンとなっている。つまり、読み上げが開始されると再生ボタンB11は停止ボタンに替わり、読み上げが終了される停止ボタンは再生ボタンB11に戻るようになっている。また、巻き戻しボタンB12は、読み上げる予定を前の予定に戻す操作のためのボタンである。早送りボタンB13は、読み上げる予定を次の予定に進める操作のためのボタンである。フィルタボタンB14は、フィルタ設定の操作のためのボタンである。
ここで、図9の説明に戻る。スケジュール画面を表示させた後のステップS202において、クライアントは、読み上げをするか否かを判定する。例えば、ユーザによって再生ボタンB11が選択されたときに読み上げをすると判定される。また、ユーザによって読み上げアプリケーションが起動された直後に読み上げをすると判定されてもよい。ステップS202において、読み上げをすると判定されたときには、処理はステップS203に移行する。読み上げをしないと判定されたときには、処理はステップS210に移行する。この他、読み上げアプリケーションはバックグラウンドで起動中であって、ユーザによって予め設定された時刻になったときに読み上げをすると判定されてもよい。この場合には、スケジュール画面の表示後、処理がステップS203に移行する。
ステップS203において、クライアントは、読み上げるべき予定を1つ選択する。例えばクライアントは、当日の予定の中の時系列で先の予定から順次に選択し、最後に終日の予定を選択するものとする。
ステップS204において、クライアントは、読み上げる予定がユーザの入力した内容であるか否かを判定する。読み上げる予定が「追加コメント」でないときには、読み上げる予定がユーザの入力した内容であると判定される。ステップS204において、読み上げる予定がユーザの入力した内容であると判定されたときには、処理はステップS205に移行する。ステップS204において、読み上げる予定がユーザの入力した内容でないと判定されたときには、処理はステップS206に移行する。なお、ここでのユーザの入力した内容は、ユーザが直接的に入力した内容に限らない。例えば、所定の項目の選択によってCPU12によって入力された内容であって、「追加コメント」に含まれない内容であってもよい。
ステップS205において、クライアントは、第1の音声で選択した予定を読み上げる。第1の音声は、例えば男性である。ステップS206において、クライアントは、第2の音声で選択した予定を読み上げる。第2の音声は、例えば女性である。予定の読み上げ後、処理はステップS207に移行する。
ステップS207において、クライアントは、早送り又は巻き戻しをするか否かを判定する。例えば、早送りボタンB13が選択されたときには、早送りをすると判定される。また、巻き戻しボタンB12が選択された場合には、巻き戻しをすると判定される。ステップS207において、早送り又は巻き戻しをすると判定されたときには、処理はステップS208に移行する。ステップS207において、早送り又は巻き戻しをしないと判定されたときには、処理はステップS209に移行する。
ステップS208において、クライアントは、読み上げる予定を変更する。すなわち、早送りボタンB13が選択されたときには、クライアントは、1つ先の予定を選択する。また、巻き戻しボタンB12が選択されたときには、クライアントは、1つ前の予定を選択する。その後、処理はステップS204に移行する。
ステップS209において、クライアントは、読み上げを終了するか否かを判定する。例えば、すべての読み上げが終了したときには、読み上げを終了すると判定される。また、停止ボタンが選択されたときも読み上げを終了すると判定される。ステップS209において、読み上げを終了すると判定されたときには、処理はステップS210に移行する。ステップS209において、読み上げを終了しないと判定されたときには、処理はステップS203に戻る。
ステップS210において、クライアントは、読み上げアプリケーションを終了するか否かを判定する。例えばユーザがクライアントを操作して読み上げアプリケーションを終了させたときには、クライアントは、読み上げアプリケーションを終了すると判定する。ステップS210において、読み上げアプリケーションを終了しないと判定されたときには、処理はステップS201に戻る。ステップS210において、読み上げアプリケーションを終了すると判定されたときには、クライアントは、図9の処理を終了させる。
ステップS211において、クライアントは、フィルタ設定をするか否かを判定する。例えば、フィルタボタンB14が選択されたときには、フィルタ設定をすると判定される。ステップS211において、フィルタ設定をすると判定されたときには、処理はステップS212に移行する。ステップS211において、フィルタ設定をしないと判定されたときには、処理はステップS210に移行する。
ステップS211において、クライアントは、ユーザの操作に応じて読み上げの際のフィルタ設定をする。その後、処理はステップS210に移行する。フィルタ設定として、例えば、1日の予定を読み上げるに際して、既に完了している予定の読み上げをしない、予め読み上げない予定を決める等の設定が行われ得る。
以上説明したように本実施形態によれば読み上げ内容に応じて読み上げる音声の変更が行われる。これにより、ユーザは、例えば自身で入力されていない予定を聞く際に注意をすることができる。なお、読み上げ装置の処理は、サーバ4の制御の下で行われてよい。
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
本発明の一態様のスケジュール管理支援装置は、ユーザの予定の項目を抽出する抽出部と、抽出された前記項目と関連する情報をデータベースから探索する探索部と、探索された前記情報に基づいて前記予定の補足情報を生成する生成部と、前記予定に前記補足情報を追加する追加部とを具備し、前記予定の項目は、前記ユーザの面談相手の顧客に係る情報又は会議に係る情報を含み、前記予定の項目が前記ユーザの面談相手の顧客に係る情報を含むときには、前記探索部は、前記データベースから前記顧客のウェブページのURLを探索し、前記生成部は前記補足情報として前記顧客のウェブページの更新の有無の情報を生成し、又は、前記探索部は、前記データベースから前記顧客へのユーザの訪問履歴の情報を探索し、前記生成部は、前記補足情報として前記顧客への訪問の頻度を示す情報を生成し、又は、前記探索部は、前記データベースから前記顧客からのクレームの情報を探索し、前記生成部は前記補足情報として前記顧客からのクレームの頻度の情報を生成し、前記予定の項目が会議に係る情報を含むときには、前記探索部は、前記会議に伴って予約されている会議室において所定時間以内に別の会議が予約されているか否かを判定し、前記生成部は前記補足情報として前記別の会議の情報を生成する。