以下、本発明に係る一実施形態を図面に基づいて説明する。なお、一実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。
<本発明の一実施形態に係る日程調整システム10>
図1は、本発明の一実施形態に係る日程調整システム10の構成例を示している。
該日程調整システム10は、会合の日程調整を支援するためのものである。日程調整システム10は、ネットワーク11を介して接続された日程調整装置20、外部システム30、及び端末装置40A,40X1〜40XN(Nは2以上の整数)を含む。
ネットワーク11は、インターネット、携帯電話通信網等に代表される双方向通信網である。
日程調整装置20は、調整開始者Aからの要求に応じ、調整相手X1〜XNと会合の日程調整を行うものである。なお、会合に参加する参加者としては、調整開始者A、調整開始者Aが属する企業等の組織(後述する法人会員)の所属者、調整相手X1〜XN、調整相手X1〜XNが属する企業等の組織の所属者が想定される。
外部システム30は、Webアプリケーションとしてのカレンダツール31を有償または無償で一般消費者や法人等に広く提供しているシステムを指す。カレンダツール31としては、例えば、Googleカレンダー(商標)やMicrosoft Outlook(商標)を採用できる。カレンダツール31は、カレンダツール31の利用者の行動予定や、利用者が利用可能な会合の会場の予約状況が登録されているスケジュール情報311を保持する。
調整開始者Aが用いる端末装置40Aは、ネットワーク11を介して日程調整装置20に接続可能なパーソナルコンピュータ、スマートフォン等の一般的なコンピュータからなる。端末装置40Aは本発明の第1の端末装置に相当する。
同様に、調整相手X1〜XNが用いる端末装置40X1〜40XNは、一般的なコンピュータからなる。以下、調整相手X1〜XN及び端末装置40X1〜40XNを個々に区別する必要がない場合、単に調整相手X及び端末装置40Xと称する。なお、調整相手Xのうち、中間入力者(後述)となるものが用いる端末装置40Xは本発明の第2の端末装置に相当し、最終入力者(後述)となるものが用いる端末装置40Xは本発明の第3の端末装置に相当する。
中間入力者及び最終入力者については、後述するαパターンに対応する動作例、及びβパターンに対応する動作例の場合、中間入力者とは、N名の調整相手Xのうち、調整開始者A側から提示される会合の候補日程を確認、操作する順序が1番目から(N−1)番目までの調整相手Xを指す。中間入力者は、調整開始者A側の都合に基づく会合の候補日程から自身にとって不都合な日程を除外することができる。最終入力者とは、調整開始者A側から提示される会合の候補日程を確認、操作する順序がN番目(最後)の調整相手Xを指す。最終入力者は、調整開始者A側の都合及び中間入力者の都合に基づく会合の候補日程の中から会合を開催する日程を選択、確定することができる。
また、後述するγパターンに対応する動作例の場合、全ての調整相手Xが中間入力者となり、調整開始者Aが最終入力者となる。
なお、本実施形態においては、会合に参加する調整相手X自身が端末装置40Xを操作することにしているが、実際には、調整相手Xの代理人(秘書等)が端末装置40Xを操作してもよい。
調整開始者Aは、該日程調整装置20への利用登録を済ませた企業等の所属者である。以下、日程調整装置20への利用登録を済ませた企業等を法人会員と称する。また、法人会員(企業等)に属する所属者(法人会員である企業等の社員等)のうち、日程調整装置20のユーザアカウントを有する所属者をユーザと定義する。調整開始者Aはユーザであることが必須である。よって、以下、調整開始者AをユーザAとも称する。調整開始者Aと同じ法人会員に属する調整開始者A以外の所属者は、ユーザであってもよいが必須ではない。なお、該日程調整装置20への利用登録は企業等ではなく個人でも行うことができ、その場合、利用登録を済ませた個人を個人会員と称し、個人会員とユーザは同一視できる。そして、個人会員の場合、後述する会員情報221の管理者アカウント、管理者認証情報、及び基本情報は、後述するユーザ情報222のユーザアカウント、ユーザ認証情報、及びユーザ基本情報と共通であり、後述する会員情報221の所属者情報、及び会場情報は省略できる。
日程調整装置20の法人会員に属する所属者は、自身の予定を、外部システム30が提供しているカレンダツール31を用いて管理しているものとする。また、日程調整装置20の法人会員は、会合の会場として所属者が利用可能な会議室、応接室、予備室等の予約状況を、外部システム30が提供しているカレンダツール31を用いて管理するようにしてもよい。
したがって、いまの場合、カレンダツール31は、会合の参加者となり得る調整開始者A等の予定、及び、調整開始者A等が利用可能な会合の会場の予約状況がそれぞれ登録されているスケジュール情報311を保持しているものとする。
なお、調整相手Xは、日程調整装置20のユーザであってもよいが必須ではない。以下、調整相手Xがユーザでないことを前提として説明を継続し、調整相手Xがユーザである場合については後述する。
また、調整相手Xは、カレンダツール31を利用していてもよいが必須ではない。また、調整相手Xは、調整開始者Aが利用するカレンダツール31とは別のベンダーが提供するカレンダツールを利用していてもよい。
日程調整装置20は、処理部21、記憶部22、及び通信部23の各機能ブロックを備える。日程調整装置20は、CPU(Central Processing Unit)等のプロセッサ、DRAM(Dynamic Random Access Memory)等のメモリ、HDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージ、キーボード、マウス、タッチパネル等の入力デバイス、ディスプレイ等の出力デバイス、及び、NIC(Network Interface Card)等の通信モジュール(いずれも不図示)を備えるサーバコンピュータ等の一般的なコンピュータからなる。
処理部21は、コンピュータのプロセッサにより実現される。処理部21は、認証部211、調整条件設定部212、及び日程調整部213の各機能ブロックを有する。これらの機能ブロックは、コンピュータのプロセッサがメモリにロードされた所定のプログラムを実行することによって実現される。ただし、これらの機能ブロックの一部または全部を集積回路等によりハードウェアとして実現してもよい。
認証部211は、ネットワーク11を介して外部システム30にアクセスし、例えば、OAuth等のプロトコルに従い、記憶部22が保持する調整開始者(ユーザ)Aに対応するユーザ情報222に含まれるユーザアカウント(図2)を用いて認証処理を行う。ただし、ユーザアカウントは1回目の認証処理に用いればよく、2回目以降の認証処理では1回目の認証処理が終了した際に外部システム30から送信されるユーザ認証情報(アクセストークン等)(図2)を用いることができる。
なお、認証部211によって調整開始者Aの認証処理が済んだ後において、日程調整部213は、例えばWebAPI(Application Programming Interface)を通じて、カレンダツール31に保持されている、調整開始者A及び調整開始者Aと同じ法人会員に属する所属者の予定が登録されているスケジュール情報311、並びに、調整開始者A及び調整開始者Aと同じ法人会員に属する所属者が利用可能な会合の会場(会議室等)の予定が登録されているスケジュール情報311を、参照したり、更新したりすることが可能であるものとする。
調整条件設定部212は、会合の日程調整に必要な複数の項目からなる調整条件を設定するための条件設定画面を端末装置40Aに表示させ、条件設定画面に対する調整開始者Aからの入力に応じて調整条件を設定し、記憶部22が保持する、調整開始者Aに対応する日程調整情報223に登録する。調整条件の項目については図5及び図6を参照して後述する。
日程調整部213は、後述するαパターン、βパターン、及びγパターンに共通する動作として、カレンダツール31が管理する、調整開始者A側の参加者(調整開始者Aが含まれる場合と含まれない場合がある)のスケジュール情報311を参照し、調整開始者A側の参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たす第1の候補日程を抽出する。そして、日程調整部213は、第1の候補日程を編集するための日程編集画面を端末装置40Aに表示させ、日程編集画面に対する調整開始者Aからの編集操作に応じて第2の候補日程を決定する。
なお、変形例として、第1の候補日程を編集することにより第2の候補日程を決定するのではなく、第1の候補日程の抽出を省略し、例えば、日程調整部213が端末装置40Aに表示させた所定の画面上のカレンダにて、調整開始者Aが日付や時間を選択して第2の候補日程を決定するようにしてもよい。
また、日程調整部213は、第2の候補日程を調整開始者Aに対応する日程調整情報223の調整開始者情報2231(図3)に登録する。調整開始者Aによって第1の候補日程が編集されなかった場合は、第2の候補日程は第1の候補日程と同じになる。
また、日程調整部213は、調整相手Xが日程調整画面にアクセスするための調整用URL(Uniform Resource Locator)を発行する。具体的には、αパターンまたはβパターンの場合、日程調整部213は、各調整相手Xにそれぞれ異なる調整用URLを発行し、調整用URLを発行したタイミングで調整相手Xと同数の調整相手情報2232(図3)を作成して、発行した調整用URLを登録する。ただし、各調整相手Xに対して共通の調整用URLを発行してもよい。複数の調整相手Xをグループ分けしてグループ毎に共通の調整用URLを発行するようにしてもよい。
γパターンの場合、調整相手Xの人数が確定していなくても日程調整ができることが望ましいため、日程調整部213は、複数の調整相手Xが使用する共通の調整用URLを発行する。共通の調整用URLは調整基本情報2233(図3)に登録される。ただし、調整開始時に調整相手Xの人数が確定していることを前提として、調整相手X毎に異なる調整用URLを発行するようにしてもよい。また、γパターンの場合、日程調整部213は、調整相手Xに対する共通の調整用URLとは異なる、最終入力者用の調整用URLを発行する。ただし、調整相手Xに対する共通の調整用URLと、最終入力者用の調整用URLは共通であってもよい。なお、γパターンの場合、最終入力者は調整開始者Aとなるため、最終入力者用の調整用URLは、調整開始者情報2231(図3)に登録される。
日程調整部213は、調整用URLをテキストとして発行してもよいし、QRコード等の画像として発行してもよい。発行された調整用URLは、調整開始者Aにより電子メール等を用いてそれぞれの調整相手Xに送信される。調整用URLは、本発明のアクセス情報に相当する。
調整用URLが発行された後におけるαパターン、及びβパターンに共通する動作として、日程調整部213は、調整用URLに基づいてアクセスしてきた調整相手Xが中間入力者である場合、その時点において、再びカレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311を参照し、調整開始者A側の参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たし、且つ、第2の候補日程の範囲内である第3の候補日程を抽出する。
ただし、調整用URLに基づいてアクセスしてきた調整相手Xが2番目以降の中間入力者である場合、日程調整部213は、その時点において、再びカレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311を参照し、調整開始者A側の参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たし、且つ、先に入力済みの他の中間入力者全員の第4の候補日程の共通の範囲内である第3の候補日程を抽出するようにしてもよい。
このように、第3の候補日程を再び抽出することにより、調整用URLが発行されてから調整相手Xがアクセスしてくるまでの間に調整開始者A側の参加者のスケジュールに変更があった場合でも、それに起因するダブルブッキングの発生を抑止できる。
そして、日程調整部213は、抽出した第3の候補日程を表す、中間入力者用の日程調整画面を中間入力者の端末装置40Xに表示させる。そして、日程調整部213は、中間入力者用の日程調整画面に表示された第3の候補日程のうち、中間入力者が自身にとって不都合な日程を除外した候補日程を第4の候補日程として、調整開始者Aに対応する日程調整情報223の該中間入力者に対応する調整相手情報2232A(図3)に登録する。
したがって、αパターン、及びβパターンの場合、調整相手Xの数Nよりも1だけ少ない数(N−1)の第4の候補日程が存在することになる。
また、αパターン及びβパターンの場合、日程調整部213は、調整用URLに基づいてアクセスしてきた調整相手Xが最終入力者である場合、その時点において、再びカレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311を参照し、調整開始者A側の参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たし、且つ、中間入力者全員の第4の候補日程の共通の範囲内の空き日程を第5の候補日程として抽出する。
そして、αパターン及びβパターンの場合、日程調整部213は、抽出した第5の候補日程を表す、最終入力者用の日程調整画面を最終入力者の端末装置40Xに表示させる。そして、日程調整部213は、最終入力者用の日程調整画面に表示された第5の候補日程の中から最終入力者が選択し、日程確認画面で確定した会合日程を、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311に登録するとともに、記憶部22が保持する調整開始者Aに対応する日程調整情報223の調整基本情報2233(図3)に登録する。さらに、日程調整部213は、調整相手Xそれぞれが指定したタイミングで、確定した会合日程を知らせるための通知メールを調整相手Xに送信する。ただし、最終入力者として会合日程を確定した調整相手Xには通知メールを送信しないようにしてもよい。
なお、αパターン及びβパターンの場合、最終入力者の日程調整画面に表示された第5の候補日程の中から最終入力者が会合日程を選択し、確認画面で確定するまでの短い時間においても調整開始者A側の参加者のスケジュールは変更され得る。よって、日程調整部213は、日程確認画面にて会合日程が確定される直前において、選択された会合日程が調整開始者A側の参加者の空き日程であり、且つ、調整条件を満たすことを最終確認する。そして、選択された会合日程が調整条件を満たさなくなっていたり、空き日程ではなくなっていたりした場合、例えば「指定した時間は埋まってしまいました。再度選択し直してください」等のメッセージを最終入力者の端末装置40Xに表示し、最終入力者用の日程調整画面に操作を差し戻すようにすればよい。これにより、ダブルブッキングの発生をさらに抑止できる。
また、調整用URLが発行された後におけるγパターンの動作として、日程調整部213は、アクセスしてきた全ての調整相手Xを中間入力者とみなし、その時点において、再びカレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311を参照し、調整開始者A側の参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たし、且つ、第2の候補日程の範囲内である第3の候補日程を抽出する。そして、日程調整部213は、抽出した第3の候補日程を表す、中間入力者用の日程調整画面を中間入力者の端末装置40Xに表示させ、日程調整画面に表示された第3の候補日程のうち、中間入力者が自身にとって不都合な日程を除外する操作を行うと、調整開始者Aに対応する日程調整情報223の中に該中間入力者に対応する調整相手情報2232A(図3)を作成し、作成した調整相手情報2232Aに、アクセスしてきた共通の調整用URLと、該中間入力者が第3の候補日程の中から自身にとって不都合な日程を除外した第4の候補日程とを登録する。なお、共通の調整用URLは既に調整基本情報2233に登録されているため、新たに調整相手情報2232Aに登録しなくても良い。
γパターンの場合、調整開始者Aは調整相手Xの数Nを指定してもよいし、人数不定としてもよい。調整相手Xの数Nが指定された場合、日程調整部213は、N名(または別途指定された人数)の調整相手Xの入力が終了した段階で、N名(または別途指定された人数)の調整相手Xの入力が終了した旨のメッセージと、最終入力者用の調整用URLとを最終入力者としての調整開始者Aに通知する。変形例として、N名(または別途指定された人数)を超えた調整相手Xの入力が終了する毎に、調整相手Xの入力があった旨のメッセージと、最終入力者用の調整用URLとを最終入力者としての調整開始者Aに通知するようにしてもよい。さらに他の変形例として、所定期間毎(例えば1日毎、数時間毎、数日毎など)や調整開始者Aが指定したタイミングに、そのタイミングにおいて入力が完了している調整相手Xの人数を数え、例えば「3人の入力が完了しています」等のメッセージと、最終入力者用の調整用URLとを最終入力者としての調整開始者Aに通知するようにしてもよい。
調整相手Xの数Nが指定されていない場合、日程調整部213は、調整相手Xの入力が終了する毎に、それまでに入力が終了した調整相手Xの人数を数え、例えば「4人目の入力が終わりました」等のメッセージと、最終入力者用の調整用URLとを最終入力者としての調整開始者Aに通知する。変形例として、所定期間毎(例えば1日毎、数時間毎、数日毎など)に、その期間において入力が終了した調整相手Xの人数を数え、例えば「本日は3人の入力が終わりました」等のメッセージと、最終入力者用の調整用URLとを最終入力者としての調整開始者Aに通知するようにしてもよい。
そして、最終入力者としての調整開始者Aが、日程調整部213からのメッセージを参考にして自身で決めたタイミングで、最終入力者用の調整用URLにアクセスすると、日程調整部213は、その時点において、再びカレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311を参照し、調整開始者A側の参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たし、且つ、第2の候補日程の範囲内の空き日程を第5の候補日程として抽出する。
そして、日程調整部213は、抽出した第5の候補日程と、中間入力者全員(入力を終了した調整相手X全員)それぞれの第4の候補日程を併記した最終入力者用の日程調整画面を最終入力者である調整開始者Aの端末装置40Aに表示させる。調整開始者Aは、最終入力者用の日程調整画面に併記された第4の候補日程を参考にしつつ、第5の候補日程の中から会合日程を選択、確定し、そして、日程調整部213は、調整開始者Aが確定した会合日程をカレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311に登録するとともに、記憶部22が保持する、調整開始者Aに対応する日程調整情報223の調整基本情報2233(図3)に登録する。さらに、日程調整部213は、確定した会合日程を知らせるための通知メールを全ての調整相手Xに通知する。
なお、最終入力者の日程調整画面にて最終入力者である調整開始者Aが会合日程を選択し、確認画面で確定するまでの短い時間においても調整開始者A側の参加者のスケジュールは変更され得る。よって、日程調整部213は、日程確認画面にて会合日程が確定される直前において、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照し、記憶部22から調整開始者Aに対応する日程調整情報223の各調整相手情報2232に登録されている第4の候補日程を読み出して、確定された会合日程が、現時点において調整開始者A側の参加者の既存の予定と重複していたり、調整相手Xの第4の候補日程の範囲外であったりしないかを最終確認する。そして、確定された会合日程が、現時点において調整開始者A側の参加者の既存の予定と重複していたり、調整相手Xのうちの誰かの第4の候補日程の範囲外であったりした場合、例えば「調整相手X1さんが参加できない可能性が高いですがよろしいですか?」、「調整相手X1さんの指定した候補から外れていますがよろしいですか?」等のメッセージを通知する。これにより、ダブルブッキングの発生が抑止できる。
記憶部22は、コンピュータのメモリ及びストレージによって実現される。記憶部22には、会員情報221、ユーザ情報222、及び日程調整情報223が保持される。なお、記憶部22には、上述した情報以外の情報を格納してもよい。
通信部23は、コンピュータの通信モジュールによって実現される。通信部23は、ネットワーク11を介し、外部システム30、端末装置40A,40X等と接続して各種のデータや情報を通信する。
なお、日程調整装置20を構成する上述した機能ブロックの一部または全部は集積回路等のハードウェアによって実現してもよい。また、日程調整装置20は、複数のコンピュータによって実現してもよく、その場合、上述した機能ブロックは複数のコンピュータに分散して配置してもよい。
次に、図2は、記憶部22に保持される会員情報221及びユーザ情報222の一例を示している。
会員情報221は、日程調整装置20への利用登録を済ませた各会員に関する情報からなる。具体的には、法人会員の場合、会員情報221は、管理者アカウント、管理者認証情報、基本情報、所属者情報、及び会場情報を含む。
管理者アカウントは、法人会員(企業等)のシステム管理者等が日程調整装置20にログインするための情報である。管理者アカウントは、システム管理者等が外部システム30にアクセスするためのアカウント(例えば、システム管理者等のメールアドレス)と共通であることが望ましい。管理者アカウントは、日程調整装置20への利用登録時に記録される。
管理者認証情報は、日程調整装置20の認証部211が管理者アカウントを用い、外部システム30に初めて認証処理を行った際に認証処理の成功結果として外部システム30から得られるアクセストークン等である。管理者認証情報が得られた以降、認証部211は、管理者アカウントを用いることなく、管理者認証情報を用いてより速やかに外部システム30に対して認証処理を行うことができる。
基本情報は、法人会員の名称(企業名等)等である。基本情報は、会員登録時に記録される。所属者情報は、法人会員(企業等)に属する所属者の氏名及び外部システム30にアクセスするためのユーザアカウント等の一覧である。所属者情報は、利用登録時に記録してもよいし、日程調整に必要な全ての所属者がカレンダツール31を既に使用していることを前提とし、外部システム30から取得して記録してもよい。
会場情報は、法人会員に属する所属者が会合に利用できる会議室、応接室、予備室等の会場の名称、及び外部システムにおける会場の識別ID等の一覧である。会場情報は、システム管理者等が利用登録時に記録してもよいし、日程調整に必要な全ての会場のスケジュールがカレンダツール31によって既に管理されていることを前提とし、外部システム30から取得して記録してもよい。
ユーザ情報222は、法人会員に属する所属者のうちの日程調整装置20に対するユーザアカウントを有するユーザ自身に関する情報からなる。ユーザ情報222は、各ユーザが日程調整装置20に初めてログインした際に作成されて、会員情報221に対応付けられる。
ユーザ情報222は、ユーザアカウント、ユーザ認証情報、及びユーザ基本情報を含む。
ユーザアカウントは、ユーザが日程調整装置20にログインするための情報である。ユーザアカウントは、ユーザが外部システム30にアクセスするためのアカウント(例えば、ユーザのメールアドレス)と共通であることが望ましい。
ユーザ認証情報は、認証部211がユーザアカウントを用い、外部システム30に初めて認証処理を行った際に認証処理の成功結果として外部システム30から得られるアクセストークン等である。ユーザ認証情報が得られた以降、認証部211は、ユーザアカウントを用いることなく、ユーザ認証情報を用いてより速やかに外部システム30に対して認証処理を行うことができる。
ユーザ基本情報は、ユーザの氏名等であり、会員情報221の所属者情報から読み出されて記録される。
次に、図3は、記憶部22に保持される日程調整情報223の一例を示している。日程調整情報223は、各ユーザに対応付けて、ユーザが調整開始者となる会合毎に作成される(図2参照)。日程調整情報223は、調整開始者情報2231、調整相手情報2232A及び調整相手情報2232Bの少なくとも一方の形式、調整相手情報2232C、並びに、調整基本情報2233を含む。
調整開始者情報2231には、調整開始者Aのユーザアカウント(ユーザを識別するためのもの。ユーザの識別ID等でもよい)、調整開始者Aが設定した調整条件、第2の候補日程等が登録される。また、調整開始者情報2231には、γパターンの場合に調整開始者Aに対して発行された最終入力者用の調整用URLが登録される(不図示)。
調整相手情報2232A〜2232Cは、それぞれの区別なく調整相手X(γパターンの場合は入力が終了した調整相手X)の数だけ作成される。そして、調整用URLに基づいてアクセスしてきた調整相手Xが中間入力者であるか、最終入力者であるか、ユーザであるか否かの判定結果に応じて、登録される内容に変化が生じる。以下、調整相手情報2232A〜2232Cを個々に区別する必要がない場合、調整相手情報2232と称する。
調整相手情報2232Aは、調整相手Xが中間入力者であってユーザではない場合に対応する。調整相手情報2232Aには、該調整相手Xに対して発行された調整用URL、該調整相手Xが入力した自身のメールアドレス、該調整相手Xが指定した通知メールの送信タイミング、第4の候補日程等が登録される。
調整相手情報2232Bは、調整相手Xが中間入力者であってユーザである場合に対応する。調整相手情報2232Bには、該調整相手Xに対して発行された調整用URL、該調整相手Xのユーザアカウント(ユーザを識別するためのもの。ユーザの識別ID等でもよい)、該調整相手Xが指定した通知メールの送信タイミング、該調整相手Xが設定した調整条件、第4の候補日程等が登録される。
調整相手情報2232Cは、調整相手Xが最終入力者である場合に対応する。調整相手情報2232Cには、該調整相手Xに対して発行された調整用URL、該調整相手Xが入力した自身のメールアドレス、該調整相手Xが指定した通知メールの送信タイミング等が登録される。
調整基本情報2233には、日程調整開始時に調整相手の数、及び調整パターンが登録され、日程確定時に会合の日時、及び場所が登録される。また、調整基本情報2233には、γパターンの場合に発行された複数の調整相手Xが使用する共通の調整用URLが登録される。
<日程調整システム10による日程調整処理>
次に、図4は、日程調整システム10による日程調整処理の一例を説明するシーケンス図である。
はじめに、調整開始者Aが、端末装置40Aを用い、ネットワーク11を介して日程調整装置20にログインを行う(ステップS1)。そして、調整開始者Aのログインに応じ、日程調整装置20の認証部211が、記憶部22が保持する調整開始者Aに対応するユーザ情報222に含まれるユーザアカウントまたはユーザ認証情報(アクセストークン等)を用い、外部システム30に対して認証処理を行う(ステップS11)。
次に、日程調整装置20の調整条件設定部212が、調整条件を設定するための条件設定画面500(図5及び図6)を端末装置40Aに表示させる(ステップS12)。
図5及び図6は、端末装置40Aに表示される条件設定画面500の表示例であり、図5は条件設定画面500の上方部分、図6は図5に示された上方部分を下方向にスクロールすることにより表示される条件設定画面500の下方部分を示している。
条件設定画面500には、図5に示すように、調整相手Xの人数Nを入力するための入力欄501、調整相手Xが2名以上である場合の調整パターンとしてαパターン、βパターン、またはγパターンを選択するためのラジオボタン502、自社からの参加者の有無を選択するためのラジオボタン503、及び会合件名を入力するための入力欄504が設けられている。
αパターンでは、日程調整部213が、N名の調整相手Xの中からアクセスしてきた順序に応じて会合日程の確定権を有する最終入力者を決定する。すなわち、αパターンでは、調整用URLに基づいてアクセスしてきたN名の調整相手Xのうち、1番目から(N−1)番目までにアクセスしてきた調整相手Xが中間入力者とされ、N番目(最後)にアクセスしてきた調整相手Xが最終入力者とされる。αパターンを選択した場合、調整開始者Aは、調整用URLが発行された時点で、N名の調整相手X全員に対して調整用URLを通知すればよい。αパターンは、N名の調整相手X全員の参加が必須であり、調整開始者AからみたN名の調整相手Xの立場が等しい場合に適用することが望ましい。
βパターンでは、調整開始者Aが、N名の調整相手Xの中から会合日程の確定権を有する最終入力者を決定する。βパターンを選択した場合、調整開始者Aは、初めに(N−1)名の中間入力者全員に対して調整用URLを通知し、中間入力者全員からの入力が終了した旨の日程調整装置20からの通知に応じ、最終入力者に対して最終入力者用の調整用URLを通知すればよい。βパターンは、N名の調整相手X全員の参加が必須であり、調整開始者AからみたN名の調整相手Xの立場が等しくなく、日程調整において優先すべき調整相手Xが存在する場合に適用することが望ましい。この場合、日程調整において最も優先すべき調整相手Xを最終入力者にすればよい。
γパターンでは、全ての調整相手Xが中間入力者となり、調整開始者Aが会合日程の確定権を有する最終入力者となる。γパターンを選択した場合、調整開始者Aは、調整用URLが発行された時点で、N名の中間入力者全員に対して共通の調整用URLを通知すればよい。そして、中間入力者の入力が終了した旨の日程調整装置20からの通知に応じ、調整開始者Aが、該通知とともに通知される調整用URLにアクセスして会合の日程を確定する。γパターンは、N名の調整相手X全員の参加が必須ではなく、N名の調整相手のうちの少なくとも1名が参加すればよい場合に適用することが望ましい。
さらに、条件設定画面500には、図6に示すように、会合の所要時間を入力するための選択入力欄511、会合の前後それぞれの確保時間を入力するための選択入力欄512、候補日程の抽出期間を入力するための選択入力欄513、会合可能時間帯を入力するための選択入力欄514、会合に用いる会場を入力するための選択入力欄515が設けられている。ここで、会合の前後それぞれの確保時間とは、会場への移動、準備作業、撤収作業、休憩等のための時間である。
なお、選択入力欄511〜515については、調整開始者Aに対応付けられた日程調整情報223が参照され、調整開始者Aが直近で調整開始者となった会合の調整条件の内容が反映された状態で表示される。これにより、調整開始者Aによる調整条件の入力の手間を軽減できる。なお、選択入力欄511〜515に、直近の会合の調整条件を自動的に反映するか否かは、調整開始者Aの指定により選択できるようにしてもよい。
なお、調整条件の設定方法としては、日程調整の都度、条件設定画面500を用いて設定する方法の他、事前に1つ以上の調整条件の雛形を別の情報として登録しておき、該雛形の1つを指定して呼び出すことで簡単に調整条件を設定できるようにしてもよい。
またさらに、条件設定画面500には、調整開始者Aが属する法人会員の所属者の中から会合に参加する1名以上の参加者(調整開始者A自身が含まれていてもよいし、含まれていなくてもよい)を指定して入力するための入力欄516、入力欄516に入力した参加者の会合参加条件を選択するためのラジオボタン517、日程確認画面810(図11)や日程確認画面920(図13)において調整相手Xによるメールアドレスの入力を省略するための入力欄518、会合の予定を非公開で登録するか否かを選択するためのチェックボックス519、及び、入力された各項目を確定して会合の候補日程の抽出を指示するための候補日程抽出ボタン520が設けられている。
ただし、選択入力欄515及び入力欄516は、ラジオボタン503にて「参加者有」が選択された場合にだけ入力可能となり、「参加者無」が選択された場合には入力不可能となる。入力欄516に複数の参加者を指定して入力し、入力した参加者の全員が会合に参加する必要がある場合、ラジオボタン517にて「全員参加」を選択すればよい。また、入力欄516に複数の参加者を入力し、入力した参加者のうちの少なくとも1名が参加すればよい場合、ラジオボタン517にて「誰か1名だけ参加」を選択すればよい。入力欄516に参加者を1名だけ入力した場合、ラジオボタン517は自動的に「全員参加」が選択されるが、参加者が1名の場合は、「全員参加」または「誰か1名だけ参加」のいずれが選択された場合であっても、候補日程の抽出等のその後の動作は全て同じものとなる。
ラジオボタン502にてβパターンが選択された場合、入力欄518には、最終入力者となる調整相手Xのメールアドレスを、中間入力者となる調整相手Xのメールアドレスと区別して入力することができる。
ここで、調整条件の項目とは、条件設定画面500を用いて入力される、会合の所要時間、前後の確保時間、候補日程の抽出期間、可能時間帯、会場、及び自社の参加者を指し、調整相手の数、調整パターン、及び自社からの参加者(参加者の有無)は、調整条件には含まない独立した設定値として定義する。
図4に戻る。端末装置40Aに表示された条件設定画面500において、調整開始者Aが、調整相手の数、調整パターン、調整条件の各項目等を入力し、候補日程抽出ボタン520を操作すると(ステップS2)、この操作に応じ、日程調整装置20の調整条件設定部212が、調整開始者Aのユーザ情報222に対応付けて新たな日程調整情報223を作成して記憶部22に保持させ、調整相手の数、及び調整パターンを日程調整情報223の調整基本情報2233に登録し、調整条件を日程調整情報223の調整開始者情報2231に登録する(ステップS13)。
いまの場合、例えば、図5及び図6に示されたように、調整相手Xの数は「3名」、調整パターンは「αパターン」、調整条件の項目である、自社からの参加者は「参加者有」、会合件名は「○×プロジェクトの進捗確認会議」、会合の所要時間は「60分」、会合の前後それぞれの確保時間は「30分」、候補日程の抽出期間は「2020年12月16日から2020年12月25日」の8営業日、可能時間帯は「09:00〜18:00」、会場は「指定なし」、参加者入力は「A(調整開始者本人)」、入力した参加者の会合参加条件は「全員参加」、調整相手のメールアドレスは「指定なし」、会合の予定の登録は「公開」に設定されたものとして以降の説明を継続する。
次に、日程調整部213が、記憶部22から日程調整情報223の調整開始者情報2231に登録されている調整条件を読み出し、外部システム30のカレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311を参照して、現時点において、調整開始者A側の参加者の空き日程であり、且つ、調整条件を満たす第1の候補日程を抽出する(ステップS14)。
いまの場合、調整開始者Aの空き日程であり、且つ、2020年12月16日から2020年12月25日の間の営業日における09:00から18:00までの時間帯であって、会合の所要時間60分が確保できる時間を抽出し、さらに、会合前の確保時間30分と会合後の確保時間30分が確保できない時間を除外することで、第1の候補日程を決定する。
なお、調整開始者Aが実際の参加者の秘書等であって代理で日程調整を行っており、条件設定画面500の入力欄516に、調整開始者Aとは異なる実際の参加者が1名だけ入力されている場合、該実際の参加者のスケジュール情報311が参照され、実際の参加者の空き日程であり、且つ、調整条件を満たす第1の候補日程が抽出されることになる。
また、条件設定画面500の入力欄516に、複数の参加者(調整開始者Aが含まれていても含まれていなくてもよい)が入力され、且つ、ラジオボタン517にて「全員参加」が選択されている場合、調整開始者A側の参加者全員のスケジュール情報311が参照され、調整開始者A側の参加者全員の共通の空き日程であり、且つ、調整条件を満たす第1の候補日程が抽出されることになる。反対に、条件設定画面500の入力欄516に、複数の参加者(調整開始者Aが含まれていても含まれていなくてもよい)が入力され、且つ、ラジオボタン517にて「誰か1名だけ参加」が選択されている場合、調整開始者A側の参加者全員のスケジュール情報311が参照され、調整開始者A側の参加者全員のうちの少なくとも1名の空き日程であり、且つ、調整条件を満たす第1の候補日程が抽出されることになる。後述する第2〜第5の候補日程を抽出する際も同様である。
なお、いまの場合、調整開始者Aは会合の会場を指定していないが、条件設定画面500(図6)の選択入力欄515にて、会場を指定した場合には、会場の空き日程を反映させて第1〜5の候補日程を抽出するようにすればよい。
具体的には、例えば「第1会議室」だけを指定した場合には、ステップS14では、日程調整部213が、記憶部22から日程調整情報223の調整開始者情報2231に登録されている調整条件を読み出し、外部システム30のカレンダツール31が管理する、調整開始者A側の参加者及び第1会議室のスケジュール情報311を参照して、現時点において調整開始者A側の参加者及び第1会議室の共通の空き日程であり、且つ、調整条件を満たす第1の候補日程を抽出すればよい。後述する第2〜第5の候補日程を抽出する際も同様である。
また、例えば「第1会議室、第2会議室」の2室を指定した場合には、ステップS14では、日程調整部213が、記憶部22から日程調整情報223の調整開始者情報2231に登録されている調整条件を読み出し、外部システム30のカレンダツール31が管理する、調整開始者A側の参加者並びに第1会議室及び第2会議室のスケジュール情報311を参照して、現時点において調整開始者A側の参加者と第1会議室及び第2会議室の少なくとも1室との共通の空き日程であり、且つ、調整条件を満たす第1の候補日程を抽出すればよい。後述する第2〜第5の候補日程を抽出する際も同様である。
次に、日程調整部213が、第1の候補日程を調整開始者Aが編集するための日程編集画面600(図7)を端末装置40Aに表示させる(ステップS15)。
図7は、端末装置40Aに表示される日程編集画面600の表示例を示している。日程編集画面600には、候補日程期間枠601、日付を横軸、時刻を縦軸として格子状に表示したカレンダ602、及び、第1の候補日程が日毎にリスト化された候補日程リスト605が表示される。また、日程編集画面600には、URL発行ボタン606、及び、戻るボタン607が設けられている。
候補日程期間枠601は、条件設定画面500の選択入力欄513に入力された候補日程の抽出期間のうち、第1の候補日程が存在する期間を表す。
カレンダ602には、カレンダツール31が管理する、調整開始者A側の参加者のスケジュール情報311に基づき、カレンダ602上の表示期間における、調整開始者A側の参加者の予定を表す既存予定枠604と、第1の候補日程枠603とが区別できるように色等を変えて表示される。これにより、調整開始者Aは、調整開始者A側の参加者の既存予定を確認しながら第1の候補日程を編集することができる。
いまの場合、調整開始者A側の参加者は調整開始者Aの1名だけなので、日程編集画面600のカレンダ602には、調整開始者Aの既存予定だけが既存予定枠604として表示されているが、調整開始者A側の参加者が複数である場合、調整開始者A側の参加者全員の既存予定が既存予定枠604として表示される。この場合、複数の参加者のうちの誰の既存予定であるのかを区別できるように、既存予定枠604内に参加者名を表示したり、既存予定枠604を色分けしたりしてもよい。
候補日程リスト605には、第1の候補日程が日毎にリスト化して表示される。
調整開始者Aは、カレンダ602における第1の候補日程枠603を選択することにより表示されるポップアップ画面(不図示)を用いて第1の候補日程を編集することができる。カレンダ602における第1の候補日程の編集結果は候補日程リスト605に反映される。なお、第1の候補日程の編集は、端末装置40Aが備える入力デバイス(マウス、タッチパネル等)の操作に応じて、画面上のドラッグアンドドロップ等の操作により行えるようにしてもよい。端末装置40A,40Xにおけるその他の画面操作についても同様とする。
なお、調整開始者Aは、候補日程リスト605においても第1の候補日程を編集することができる。
URL発行ボタン606は、カレンダ602において調整開始者Aによる第1の候補日程の編集結果(第2の候補日程)を確定し、調整相手Xが日程調整画面にアクセスするための調整用URLの発行を指示するためのボタンである。戻るボタン607は、条件設定画面500に戻るためのボタンである。URL発行ボタン606が操作された場合、調整用URL画面610(図8)がポップアップ表示される。
いまの場合、日程編集画面600にて、調整開始者Aが第1の候補日程から12月16日(水)09:30〜10:30を除外したとして以降の説明を継続する。
図4に戻る。端末装置40Aに表示された日程編集画面600において、調整開始者Aが必要に応じて第1の候補日程を編集し、URL発行ボタン606を操作すると(ステップS3)、次に、日程調整装置20の日程調整部213が調整用URLを発行する。具体的には、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整基本情報2233に登録されている調整パターンを確認し、αパターンまたはβパターンである場合には、調整相手X全員に対して異なる調整用URLを発行する。そして、日程調整部213が、調整開始者Aに対応する日程調整情報223(ステップS13で作成したもの)の中に調整相手Xと同数の調整相手情報2232を作成し、作成した調整相手情報2232に各調整相手X用に発行した調整用URLを登録し、さらに、調整開始者情報2231に第1の候補日程の編集結果である第2の候補日程を登録する(ステップS16)。
γパターンである場合には、日程調整部213が、全ての調整相手Xに対する共通の調整用URLを発行し、また、調整開始者Aに対する最終入力者用の調整用URLを発行する。そして、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整基本情報2233に、全ての調整相手Xに対する共通の調整用URLを登録し、調整開始者情報2231に、最終入力者用の調整用URL及び第1の候補日程の編集結果である第2の候補日程を登録する(ステップS16)。
次に、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整基本情報2233に登録されている調整パターンを確認し、発行した調整相手X用の調整用URLを表す、調整パターンに応じた調整用URL画面610(図8等)を端末装置40Aにポップアップ表示させる(ステップS17)。
ステップS17以降は調整パターンによって動作が異なる。以下、αパターンに対応する動作例、βパターンに対応する動作例、γパターンに対応する動作例の順に説明する。
<αパターンに対応する動作例>
図8は、αパターンに対応する調整用URL画面610の表示例を示している。いまの場合、調整条件として調整相手Xの数は「3名」に設定されているので、調整用URL画面610には、異なる3種類の調整用URLが同時に表示される。調整用URL画面610には、各調整用URLをコピーするためのコピーボタン611が設けられている。
次に、図9は、ステップS17(図4)に続けて実行されるαパターンに対応する動作例を説明するシーケンス図である。
まず、調整開始者Aが、端末装置40Aに表示された調整用URL画面610にて、コピーボタン611を操作して調整用URLをコピーし、電子メール等にペーストして3人の調整相手X全員それぞれの端末装置40Xに送信する(ステップS4)。
なお、変形例として、条件設定画面500の入力欄518に全ての調整相手Xのメールアドレスが入力されていた場合、調整用URL画面610の表示を省略し、日程調整部213が、調整相手Xのメールアドレスに対し、調整用URLを直接送信するようにしてもよい。
次に、調整用URLを受信した調整相手Xが端末装置40Xを用いて調整用URLにアクセスすると(ステップS31)、日程調整装置20の日程調整部213が、アクセスされた調整用URLが登録されている調整相手情報2232を含む日程調整情報223を特定し、特定した日程調整情報223に含まれる全ての調整相手情報2232を参照し、アクセスしてきた調整相手Xが中間入力者であるか最終入力者であるかを判定する(ステップS18)。具体的には、日程調整情報223に含まれるN個の調整相手情報2232のうち、第4の候補日程が登録済みである調整相手情報2232の数が(N−2)以下である場合、アクセスしてきた調整相手Xが中間入力者であると判定する。N個の調整相手情報2232のうち、第4の候補日程が登録済みである調整相手情報2232の数が(N−1)である場合、アクセスしてきた調整相手Xが最終入力者であると判定する。いまの場合、3個の調整相手情報2232のうち、第4の候補日程が登録済みである調整相手情報2232の数が、1個以下である場合にはアクセスしてきた調整相手Xが中間入力者であると判定し、2個である場合にはアクセスしてきた調整相手Xが最終入力者であると判定する。
アクセスしてきた調整相手Xが中間入力者であると判定した場合、次に、日程調整部213が、ステップS18で特定した日程調整情報223の調整開始者情報2231に登録されている調整条件と第2の候補日程を読み出し、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照して、現時点において調整開始者A側の参加者の空き日程であり、且つ、調整開始者Aの調整条件を満たし、且つ、第2の候補日程の範囲内である第3の候補日程を抽出する(ステップS19)。
次に、日程調整部213が、抽出した第3の候補日程を表す中間入力者用の日程調整画面800(図10)を、アクセスしてきた中間入力者の端末装置40Xに表示させる(ステップS20)。
図10は、中間入力者用の日程調整画面800の表示例を示している。中間入力者は、日程調整画面800において、自身にとって不都合な日程を第3の候補日程の中から除外することができる。また、日程調整画面800において、中間入力者が第3の候補日程の中から自身にとって好都合な希望日程を指定できるようにしてもよい。
日程調整画面800には、日付を横軸、時刻を縦軸として格子状に表示したカレンダ801、及び、第3の候補日程が日毎にリスト化された候補日程リスト803が表示される。また、日程調整画面800には、不都合ボタン804、及び、確認画面ボタン805が設けられている。
カレンダ801には、第3の候補日程枠802がその他の枠と区別できるように色等を変えて表示される。なお、カレンダ801には、日程編集画面600(図7)のカレンダ602とは異なり、調整開始者A側の参加者の既存予定は表示されない。よって、中間入力者に対して調整開始者A側の参加者のプライバシを守ることができる。
候補日程リスト803には、第3の候補日程が日毎にリスト化して表示される。
中間入力者は、カレンダ801における第3の候補日程枠802のいずれかを選択するか、候補日程リスト803におけるチェックボックスのチェックを外すことにより、自身にとって不都合な日程を候補日程から除外することができる。なお、会合の所要時間(いまの場合、60分)よりも長い第3の候補日程枠802については、所定の操作により、その全体または一部を候補日程から除外することができる。
不都合ボタン804は、日程調整画面800に示された第3の候補日程の全日程が不都合である場合に操作するボタンである。中間入力者が不都合ボタン804を操作した場合、調整開始者Aには、提案された候補日程の全日程が不都合である旨が通知される。また、該中間入力者よりも先にアクセスし、不都合な日程を除外するための操作を済ませている他の中間入力者に対しては「再調整になりました。再度調整がかかるはずです」等のメールが送信される。この場合、調整開始者Aは、調整条件を変更し、改めて日程調整処理を実行することになる。
確認画面ボタン805は、第3の候補日程の中から自身にとって不都合な日程を除外した結果として残った候補日程を中間入力者が確認するための日程確認画面810(図11)を表示させるためのボタンである。
いまの場合、中間入力者が日程調整画面800にて、12月16日(木)13:30〜16:00を候補日程から除外し、確認画面ボタン805を操作したとして以降の説明を継続する。
中間入力者による確認画面ボタン805の操作に応じ、中間入力者の端末装置40Xには、日程確認画面810が表示される。
図11は、日程確認画面810の表示例を示している。日程確認画面810には、日付を横軸、時刻を縦軸として格子状に表示したカレンダ811、及び、不都合な日程を除外した候補日程が日毎にリスト化された候補日程リスト813が表示される。また、日程確認画面810には、中間入力者が自身のメールアドレスを入力するための入力欄815、自身に対して会合の開催を通知するためのメールの送信タイミングを設定するためのチェックボックス816、日程調整画面800に戻るための戻るボタン817、及び、日程確認画面810に表示された内容を確定するための候補日程確定ボタン818が設けられている。
カレンダ811には、日程調整画面800にて中間入力者自身が不都合な日程を除外した結果として残った候補日程を表す候補日程枠812がその他の枠と区別できるように色等を変えて表示される。
候補日程リスト813には、日程調整画面800にて中間入力者自身が不都合な日程を除外した結果として残った候補日程が日毎にリスト化して表示される。
図9に戻る。端末装置40Xに表示された日程確認画面810において、中間入力者が自身のメールアドレスを入力し、通知メールの送信タイミングを選択して、候補日程確定ボタン818を操作すると(ステップS41)、次に、日程調整装置20の日程調整部213が、調整開始者Aに対応する日程調整情報223に含まれる、アクセスされた調整用URLが登録されている調整相手情報2232に、中間入力者が自身にとって不都合な日程を除外した結果として残った日程を第4の候補日程として登録し、さらに、中間入力者自身が入力したメールアドレス、及び通知メールの送信タイミングを登録する(ステップS21)。この後、日程調整部213は、次の調整相手Xがアクセスしてくるまで待機する。
そして、次にアクセスしてきた調整相手Xが中間入力者であれば、ステップS19,S20,S41,S21と同様の処理が繰り返される。
ただし、変形例として、2番目以降にアクセスしてきた中間入力者に対するステップS19では、日程調整部213が、ステップS18で特定した日程調整情報223の調整開始者情報2231に登録されている調整条件と、調整相手情報2232に登録されている第4の候補日程を全て読み出し、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照して、現時点において調整開始者A側の参加者の空き日程であり、且つ、調整開始者Aの調整条件を満たし、且つ、全ての第4の候補日程の共通の範囲内である第3の候補日程を抽出するようにしてもよい。該変形例の場合、2番目以降にアクセスしてきた中間入力者に対して提示される第3の候補日程は、先に入力を終了した、すなわち、候補日程の除外操作を終了した中間入力者の第4の候補日程が反映されたものとなる。したがって、中間入力者毎に登録される第4の候補日程は、候補日程の除外操作を終えた中間入力者の数が増えるにつれて絞り込まれることになる。
いまの場合、3人の調整相手Xのうち、1番目と2番目にアクセスしてきた2名の調整相手Xが中間入力者とされて、ステップS19,S20,S41,S21の処理が行われる。この結果、記憶部22の調整開始者Aに対応する日程調整情報223に含まれる3つの調整相手情報2232のうちの2つが、第4の候補日程等が登録されている、中間入力者に対応する調整相手情報2232Aとなる。
以下、2番目の中間入力者による日程調整が終了し、3番目の調整相手Xがアクセスしてきて、ステップS18にて、最終入力者であると判定されたものとして説明を継続する。
アクセスしてきた調整相手Xが最終入力者である場合、次に、日程調整部213が、ステップS18で特定した日程調整情報223の調整開始者情報2231に登録されている調整条件と、調整相手情報2232Aに登録されている第4の候補日程とを読み出し、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照して、現時点において調整開始者A側の参加者の空き日程であり、且つ、調整開始者Aの調整条件を満たし、且つ、全ての第4の候補日程の共通の範囲内の第5の候補日程を抽出する(ステップS22)。
次に、日程調整部213が、最終入力者用の日程調整画面910(図12)を、最終入力者の端末装置40Xに表示させる(ステップS23)。
図12は、最終入力者用の日程調整画面910の表示例を示している。最終入力者は、日程調整画面910において、第5の候補日程の中から会合日程を選択、決定することができる。
日程調整画面910には、日付を横軸、時刻を縦軸として格子状に表示したカレンダ911、及び、第5の候補日程が日毎にリスト化された候補日程リスト913が表示される。また、日程調整画面910には、不都合ボタン914、及び、確認画面ボタン915が設けられている。
カレンダ911には、第5の候補日程枠912がその他の枠と区別できるように色等を変えて表示される。なお、カレンダ911には、日程編集画面600(図7)のカレンダ602とは異なり、調整開始者A側の参加者の既存予定は表示されない。よって、最終入力者に対して調整開始者A側の参加者のプライバシを守ることができる。
候補日程リスト913には、第5の候補日程が日毎にリスト化して表示される。
最終入力者は、カレンダ911における第5の候補日程枠912のいずれかを選択することにより会合日程を決定できる。なお、会合の所要時間「60分」よりも長い第5の候補日程枠912が選択された場合にはポップアップ画面(不図示)が表示され、該ポップアップ画面にて、選択した第5の候補日程枠912の時間内のうちの所要時間「60分」を選択し、会合日程に決定することができる。
いまの場合、最終入力者が日程調整画面910のカレンダ911にて、12月17日(木)11:00〜12:00を会合日程に決定したとして以降の説明を継続する。
不都合ボタン914は、日程調整画面910に示された第5の候補日程の全日程が不都合である場合に操作するボタンである。最終入力者が不都合ボタン914を操作した場合、調整開始者Aには、提案された候補日程の全日程が不都合である旨が通知される。また、該中間入力者よりも先にアクセスし、不都合な日程の除外操作を済ませている他の中間入力者に対しては「再調整になりました。再度調整がかかるはずです」等のメールが送信される。この場合、調整開始者Aは、調整条件を変更し、改めて日程調整処理を実行することになる。
確認画面ボタン915は、決定した会合日程を確認するための日程確認画面920(図13)を表示させるためのボタンである。最終入力者が確認画面ボタン915を操作すると、最終入力者の端末装置40Xには、日程確認画面920が表示される。
図13は、日程確認画面920の表示例を示している。日程確認画面920には、日付を横軸、時刻を縦軸として格子状に表示したカレンダ921、及び、会合詳細923が表示される。
カレンダ921には、日程調整画面910(図12)にて最終入力者自身が選択、決定した会合日程を表す会合日程枠922がその他の枠と区別できるように色等を変えて表示される。会合詳細923には、日程が表示される。
また、日程確認画面920には、最終入力者が自身のメールアドレスを入力するための入力欄924、自身に対して会合の開催を通知するための通知メールの送信タイミングを設定するためのチェックボックス925、日程調整画面910に戻るための戻るボタン926、及び、日程確認画面920に表示された内容を確定するための会合日程確定ボタン927が設けられている。
図9に戻る。最終入力者の端末装置40Xに表示された日程確認画面920(図13)において、最終入力者が自身のメールアドレスを入力欄924に入力し、会合日程確定ボタン927を操作すると(ステップS51)、日程調整装置20の日程調整部213が、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照し、記憶部22から調整開始者Aに対応する日程調整情報223の調整開始者情報2231に登録されている調整条件と、調整相手情報2232Aに登録されている全ての第4の日程を読み出し、日程確認画面920にて確定された会合日程が、現時点において調整開始者A側の参加者の空き日程であり、且つ、調整条件を満たし、且つ、全ての第4の候補日程の共通の範囲内であることを最終確認する(ステップS24)。
ここで、確定された会合日程が、調整開始者A側の参加者の空き日程ではなくなっていたり、調整条件を満たさなくなっていたり、全ての第4の候補日程の共通の範囲内ではなくなっていたりした場合、例えば「指定した時間は埋まってしまいました。再度選択し直してください」等のメッセージを最終入力者の端末装置40Xに表示し、処理をステップS22に戻して、日程調整画面910に対する最終入力者の操作からやり直せばよい。反対に、確定された会合日程が、参加者の空き日程であって、且つ、調整条件を満たし、且つ、第4の候補日程の範囲内であることが最終確認できた場合、最終入力者の端末装置40Xには、最終入力者自身が確定した会合日程等を表す日程通知画面1000(図14)が表示される(ステップS25)。
図14は、日程通知画面1000の表示例を示している。日程通知画面1000には、確定した会合の日程等が表示される。また、日程通知画面1000には、カレンダツールへの登録ボタン1001、及び、スケジュールアプリへの登録ボタン1002が設けられている。最終入力者は、自身がカレンダツール31を利用している場合、登録ボタン1001を操作することにより、確定された会合の予定を最終入力者自身の予定としてカレンダツール31に登録することができる。また、最終入力者は、登録ボタン1002を操作することにより、自身が利用しているスケジュール管理用のアプリケーションプログラム(例えば、Outlook(商標)等)に、確定された会合の予定を登録することができる。
また、ステップS24の最終確認にて、確定された会合日程が、参加者の空き日程であって、且つ、調整条件を満たし、且つ、全ての第4の候補日程の共通の範囲内であることを最終確認できた場合、日程調整部213が、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311に、調整中の会合の予定を登録する。また、日程調整部213が、記憶部22が保持する調整開始者Aに対応する日程調整情報223に含まれる調整基本情報2233に確定した会合の日時を登録する。さらに、日程調整部213が、記憶部22が保持する調整開始者Aに対応する日程調整情報223に含まれる、最後にアクセスされた調整用URLが登録されている調整相手情報2232に、最終入力者自身が入力したメールアドレス、及び通知メールの送信タイミングを登録する(ステップS26)。
なお、いまの場合、会合の会場が指定されていないが、例えば、会場として第1会議室が指定されている場合には、日程調整部213が、確定した会合の日時を、外部システム30のカレンダツール31が管理する第1会議室のスケジュール情報311に登録する。また、例えば、会場として第1会議室及び第2会議室の2室が指定されており、確定した会合日程において、第1会議室及び第2会議室の2室が空いている場合、第1会議室または第2会議室の1室を選択して、選択した会議室のスケジュール情報311に、調整相手Xとの会合の予定を登録するようにする。なお、会議室の選択は、日程調整部213が所定のルールに従って選択するようにしてもよいし、調整開始者Aが選択できるようにしてもよい。そして、ステップS26では、日程調整部213が、カレンダツール31が管理する参加者、及び選択された会議室それぞれのスケジュール情報311に、調整相手Xとの会合の予定を登録すればよい。
次に、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整相手情報2232を参照し、調整相手Xそれぞれが指定したタイミングに従い、会合の開催を通知するための通知メールを、調整相手Xそれぞれが指定したメールアドレスに送信する(ステップS27)。
ただし、本実施形態では、調整相手Xが端末装置40Xにて電子メールを受信することを想定し、ステップS27として、日程調整装置20から端末装置40Xへの矢印を図示しているが、調整相手Xは端末装置40X以外の電子機器により日程調整装置20からの通知メールを受信してもよい。
以上で、αパターンに対応する日程調整処理が終了される。
以上に説明したαパターンに対応する日程調整処理によれば、複数の調整相手Xが参加する会合の日程を、ダブルブッキングを生じさせることなく、容易、且つ、効率的に設定することができる。
また、αパターンに対応する日程調整処理によれば、確定した会合の日程等を調整開始者A側の参加者が利用するカレンダツール31に登録することができる。よって、従来必要であった人手によるカレンダツール31に対するスケジュール登録の手間を省くことができる。また、調整相手Xに対しては通知メールを送信することができるので、従来、調整開始者Aが行っていた調整相手Xへの連絡を省くことができる。
付け加えると、調整開始者Aの立場では、候補日程の抽出から、複数の調整相手Xへの送付までの作業を、短時間(例えば30秒程度)で行うことが可能であり、複数の調整相手Xに調整用URLを送った後は、待っているだけで、会合日程の決定だけでなく、予定の登録や調整相手Xへの連絡まで、日程調整に関わる重要な作業を自動的に完了することができる。日程調整に関わる作業の手間を大幅に削減することが可能である。
さて、上述したαパターンに対応する日程調整処理は、会合日程の決定権が複数の調整相手Xのうちの誰に委ねられるかが未定であるため、調整開始者Aからみた複数の調整相手Xの立場が等しい場合に適用することが望ましい。
反対に、調整開始者Aからみた複数の調整相手Xの立場が等しくない場合、例えば、調整相手X1〜X3のうち、調整相手X1,X2は調整開始者Aが属する企業の協力企業の社員であり、調整相手X3は調整開始者Aの顧客であるような場合、調整相手X1,X2よりも調整相手X3の都合を優先させるために、調整相手X3を最終入力者に指定したいことがある。このような場合、調整開始者Aは条件設定画面500(図5)のラジオボタン502にてβパターンを選択すれば、効率的、確実に最終入力者を指定できる。
<βパターンに対応する動作例>
次に、βパターンに対応する動作例について説明する。
図15は、ステップS17(図4)に続けて実行されるβパターンに対応する動作例を説明するシーケンス図である。
該βパターンに対応する動作例は、上述したαパターンに対応する動作例(図9)における端末装置40AによるステップS4を削除してステップS104,S105を追加し、日程調整装置20によるステップS18を削除し、ステップS21とステップS22の間にステップS121,S122を追加し、端末装置40XによるステップS31をステップS131に置換し、ステップS132を追加したものである。なお、βパターンに対応する動作例とαパターンに対応する動作例とで共通するステップには、同一のステップ番号を付しているので、その説明は適宜省略する。
図16は、ステップS17にて表示される、βパターンに対応する調整用URL画面620の表示例を示している。いまの場合、調整条件として調整相手Xの数は「3名」に設定されているので、調整用URL画面620には、中間入力者用の異なる2つの調整用URLが同時に表示される。調整用URL画面620には、各調整用URLをコピーするためのコピーボタン621が設けられている。
図15に戻る。次に、調整開始者Aが、端末装置40Aに表示された調整用URL画面620にてコピーボタン621を操作して調整用URLをコピーし、電子メール等にペーストして中間入力者とする調整相手それぞれ(いまの場合、調整相手X1,X2)の端末装置40Xに送信する(ステップS104)。
なお、変形例として、条件設定画面500の入力欄518に中間入力者となる全ての調整相手Xのメールアドレスが入力されていた場合、調整用URL画面620の表示を省略し、日程調整部213が、中間入力者となる調整相手Xのメールアドレスに対し、調整用URLを直接送信するようにしてもよい。
次に、調整用URLを受信した中間入力者が端末装置40Xを用いて調整用URLにアクセスすると(ステップS131)、次に、日程調整部213が、第3の候補日程を抽出し(ステップS19)、抽出した第3の候補日程を表す中間入力者用の日程調整画面800(図10)を、アクセスしてきた中間入力者の端末装置40Xに表示させる(ステップS20)。
次に、日程調整画面800において、中間入力者が自身にとって不都合な日程を第3の候補日程から除外し、次に表示される日程確認画面810において、自身のメールアドレスを入力し、通知メールの送信タイミングを選択すると(ステップS41)、次に、日程調整装置20の日程調整部213が、調整開始者Aに対応する日程調整情報223に含まれる、アクセスされた調整用URLが登録されている調整相手情報2232に、中間入力者が自身にとって不都合な日程を除外した結果として残った日程を第4の候補日程として登録し、さらに、中間入力者自身が入力したメールアドレス、及び通知メールの送信タイミングを登録する(ステップS21)。
次に、日程調整部213が、記憶部22の日程調整情報223に含まれる調整相手情報2232を参照して、中間入力者全員が入力済みであるか否か、すなわち、日程調整画面800にアクセスし、自身にとって不都合な日程を第3の候補日程から除外する操作を済ませたか否かを判定する(ステップS121)。いまの場合、日程調整情報223に含まれるN個の調整相手情報2232のうち、第4の候補日程が登録済みである調整相手情報2232の数が(N−2)以下である場合、中間入力者全員の入力が済んでいないと判定する。N個の調整相手情報2232のうち、第4の候補日程が登録済みである調整相手情報2232の数が(N−1)である場合、中間入力者全員の入力が済んでいると判定する。いまの場合、日程調整情報223に含まれる3個の調整相手情報2232のうち、第4の候補日程が登録済みである調整相手情報2232の数が、1以下である場合、中間入力者全員の入力が済んでいないと判定し、2である場合、中間入力者全員の入力が済んでいると判定する。
中間入力者全員による入力が済んでいないと判定された場合、日程調整部213は、次の中間入力者がアクセスしてくるまで待機する。そして、次にアクセスしてきた中間入力者に対してもステップS19,S20,S41,S21,S121と同様の処理が繰り返される。
そして、ステップS121にて、日程調整部213が、中間入力者全員の入力が済んでいると判定した場合、次に、日程調整部213が、中間入力者全員の入力が済んだ旨のメッセージと、ステップS16で発行済みの最終入力者用の調整用URLとを電子メール等によって調整開始者Aの端末装置40Aに通知する(ステップS122)。なお、最終入力者用の調整用URLを電子メール等で送信する代わりに、最終入力者用の調整用URLを表示する画面(不図示)にアクセスするためのURLを、電子メール等を用いて端末装置40Aに送信するようにしてもよい。
次に、調整開始者Aが、日程調整装置20から送信された最終入力者用の調整用URLをコピーし、電子メール等にペーストして最終入力者としたい調整相手(いまの場合、調整相手X3)の端末装置40Xに送信する(ステップS105)。
なお、変形例として、条件設定画面500の入力欄518に最終入力者となる調整相手Xのメールアドレスが入力されていた場合、中間入力者全員の入力が済んだ旨のメッセージの調整開始者Aへの送信を省略し、日程調整部213が、最終入力者となる調整相手Xのメールアドレスに対し、最終入力者用の調整用URLを直接送信するようにしてもよい。
次に、最終入力者用の調整用URLを受信した最終入力者が端末装置40Xを用いて最終入力者用の調整用URLにアクセスすると(ステップS132)、ステップS22,S23,S51,S24〜S27が実行される。以上で、βパターンに対応する日程調整処理が終了される。
以上に説明したβパターンに対応する日程調整処理によれば、上述したαパターンに対応する日程調整処理と同様の作用、効果を得ることができる。また、βパターンに対応する日程調整処理によれば、調整開始者Aが、複数の調整相手Xの中から任意の調整相手Xを容易、且つ、確実に最終入力者に指定でき、会合日程の決定権を委ねることができる。
<γパターンに対応する動作例>
次に、N名の調整相手X全員の参加が必須ではなく、N名の調整相手のうちの少なくとも1名が参加すればよい場合に好適なγパターンに対応する動作例について説明する。
図17は、ステップS17(図4)に続けて実行されるγパターンに対応する動作例を説明するシーケンス図である。
該γパターンに対応する動作例は、上述したβパターンに対応する動作例(図15)における端末装置40AによるステップS104をステップS204に置換し、ステップS105を削除してステップS205,S206を追加し、日程調整装置20によるステップS22〜S25をステップS222〜S225に置換し、端末装置40XによるステップS132,S51を削除したものである。なお、γパターンに対応する動作例とβパターンに対応する動作例とで共通するステップには、同一のステップ番号を付しているのでその説明は適宜省略する。
γパターンに対応する動作例の場合、ステップS17にて表示される調整用URL画面(不図示)には、全ての調整相手Xに対する共通の調整用URLが表示される。
γパターンに対応する調整用URL画面が端末装置40Aに表示されたことに応じ、次に、調整開始者Aが、端末装置40Aに表示された調整用URL画面に表示された共通の調整用URLをコピーし、電子メール等にペーストして中間入力者とする調整相手全員それぞれ(いまの場合、調整相手X1〜X3)の端末装置40Xに送信する(ステップS204)。
なお、変形例として、条件設定画面500の入力欄518に中間入力者全員(調整相手X全員)のメールアドレスが入力されていた場合、調整用URL画面の表示を省略し、日程調整部213が、中間入力者全員のメールアドレスに対し、調整用URLを直接送信するようにしてもよい。
次に、調整用URLを受信した中間入力者が端末装置40Xを用いて調整用URLにアクセスすると(ステップS131)、次に、日程調整部213が、第3の候補日程を抽出し(ステップS19)、抽出した第3の候補日程を表す中間入力者用の日程調整画面800(図10)を、アクセスしてきた中間入力者の端末装置40Xに表示させる(ステップS20)。
次に、日程調整画面800において、中間入力者が自身にとって不都合な日程を第3の候補日程から除外し、次に表示される日程確認画面810において、自身のメールアドレスを入力し、通知メールの送信タイミングを選択すると(ステップS41)、次に、日程調整装置20の日程調整部213が、調整開始者Aに対応する日程調整情報223の中に該中間入力者に対応する調整相手情報2232を作成し、作成した調整相手情報2232に、該中間入力者がアクセスしてきた共通の調整用URL、該中間入力者の第4の候補日程、メールアドレス、及び通知メールの送信タイミングを登録する(ステップS21)。
次に、日程調整部213が、記憶部22の日程調整情報223に含まれる調整相手情報2232を参照して、中間入力者全員が入力済みであるか否かを判定する(ステップS121)。
中間入力者全員が入力済みではないと判定された場合、日程調整部213は、次の中間入力者がアクセスしてくるまで待機する。そして、次にアクセスしてきた中間入力者に対してもステップS19,S20,S41,S21,S121と同様の処理が繰り返される。
そして、ステップS121にて、日程調整部213が、調整相手数として指定されたN人の調整相手X全員が入力済みであると判定した場合、次に、日程調整部213が、調整相手X全員の入力操作が終了した旨のメッセージと、ステップS16で発行済みの最終入力者用の調整用URLとを電子メール等によって調整開始者Aの端末装置40Aに通知する(ステップS122)。なお、ステップS121の判定条件(すなわち調整用URLを最終入力者に通知する条件)は、上述したように、指定されたN名の中間入力者の入力が終了したことに限られない。
次に、調整開始者Aが、端末装置40Aを用いて最終入力者用の調整用URLにアクセスすると(ステップS205)、次に、日程調整部213が、記憶部22の調整開始者Aに対応する日程調整情報223の調整開始者情報2231に登録されている調整条件及び第2の候補日程を読み出し、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照して、現時点において調整開始者A側の参加者の空き日程であり、且つ、調整開始者Aの調整条件を満たし、且つ、第2の候補日程の範囲内である第5の候補日程を抽出する。また、日程調整部213が、記憶部22の調整開始者Aに対応する日程調整情報223の調整相手情報2232に登録されている入力が終了している調整相手X全員の第4の候補日程を読み出す(ステップS222)。
次に、日程調整部213が、調整開始者A側の空き日程を表す第5の候補日程と、入力が終了している調整相手X全員それぞれの空き日程を表す第4の候補日程とを併記して表す最終入力者用の日程調整画面(不図示)を最終入力者としての調整開始者Aの端末装置40Aに表示させる(ステップS223)。
次に、端末装置40Aに表示された最終入力者用の日程調整画面において、最終入力者としての調整開始者Aが会合の日程を選択し、確定する(ステップS206)。なお、会合の日程の選択に際し、最終入力者としての調整開始者Aは、表示されている調整相手X全員の共通の空き日程を選択する必要はなく、調整開始者A側の第5の候補日程に範囲であり、且つ、表示されている調整相手X全員のうちの少なくとも1名の空き日程であって、なるべく多くの調整相手Xが参加できる日程を選択することが望ましい。
次に、日程調整装置20の日程調整部213が、カレンダツール31が管理する調整開始者A側の参加者のスケジュール情報311を参照し、記憶部22から調整開始者Aに対応する日程調整情報223の入力が終了している調整相手Xの調整相手情報2232に登録されている第4の日程を読み出して、確定された会合日程が、現時点において調整開始者A側の参加者の既存の予定と重複していたり、調整相手Xの第4の候補日程の範囲外であったりしないかを最終確認する(ステップS224)。
ここで、確定された会合日程が、現時点において調整開始者A側の参加者の既存の予定と重複していたり、調整相手Xのうちの誰かの第4の候補日程の範囲外であったりした場合、例えば「調整相手X1さんが参加できない可能性が高いですがよろしいですか?」、「調整相手X1さんの指定した候補から外れていますがよろしいですか?」等のメッセージを端末装置40Aに表示し、調整開始者Aが承諾すれば、処理をステップS225に進め、調整開始者Aが承諾しなければ、処理をステップS222に戻して、最終入力者としての調整開始者Aによる会合日程の選択操作からやり直せばよい。反対に、確定された会合日程の最終確認ができた場合、端末装置40Aには、最終入力者自身が確定した会合日程等を表す日程通知画面(不図示)が表示される(ステップS225)。
この後、ステップS26,S27が実行される。以上で、γパターンに対応する日程調整処理が終了される。
以上に説明したγパターンに対応する日程調整処理によれば、調整開始者Aが、調整開始者A側の参加者の空き日程と、複数の調整相手Xそれぞれの不都合ではない日程を参考にして、できるだけ多くの調整相手Xが参加できるようにダブルブッキングを抑止しながら、容易、且つ、効率的に、会合の日程を選択、確定することができる。
また、γパターンに対応する日程調整処理によれば、確定した会合の日程等を調整開始者A側の参加者が利用するカレンダツール31に登録することができる。よって、従来必要であった人手によるカレンダツール31に対するスケジュール登録の手間を省くことができる。
<調整相手Xがユーザである場合>
次に、図18は、本発明の一実施形態に係る日程調整システム10の他の構成例を示している。
図18の構成例は、中間入力者となる調整相手X1が日程調整装置20のユーザである場合に対応する。この場合、調整相手X1は、調整開始者Aが日程調整を行っている会合に対して、調整相手X1は、中間入力者側の調整条件を設定することができる。具体的には、中間入力者としての調整相手X1が属する法人会員の所属者の中から会合の参加者を指定したり、会合の前後の確保時間を指定したり、会合の会場を指定したりすることができる。
ただし、調整用URLにアクセスしたタイミングにおける、中間入力者側の調整条件のデフォルト値は、中間入力者側の参加者は中間入力者自身の1名であり、その他の項目については指定されていないものとする。そして、調整条件が変更された場合、中間入力者側の参加者は、中間入力者自身が含まれる場合と含まれない場合があり、さらに、複数人であることもあり得る。
<中間入力者のうちの少なくとも1名がユーザである場合のαパターンに対応する動作例>
図19及び図20は、ステップS17(図4)に続けて実行される、中間入力者のうちの少なくとも1名がユーザである場合のαパターンに対応する動作例を説明するシーケンス図である。なお、該動作例のステップと、図9に示された中間入力者がユーザではない場合のαパターンに対応する動作例とで共通するステップについては同一のステップ番号を付しているので、その説明は適宜省略する。
まず、調整開始者Aが、端末装置40Aに表示された調整用URL画面610(図8)にて、調整用URLをコピーし、電子メール等にペーストして3人の調整相手X全員それぞれの端末装置40Xに送信する(ステップS4)。
なお、変形例として、条件設定画面500の入力欄518に全ての調整相手Xのメールアドレスが入力されていた場合、調整用URL画面610の表示を省略し、日程調整部213が、調整相手Xのメールアドレスに対し、調整用URLを直接送信するようにしてもよい。
次に、調整用URLを受信した調整相手Xが端末装置40Xを用いて調整用URLにアクセスすると(ステップS31)、日程調整装置20の日程調整部213が、アクセスしてきた調整相手Xが中間入力者であるか最終入力者であるかを判定する(ステップS18)。
アクセスしてきた調整相手Xが中間入力者であると判定した場合において、該中間入力者が、端末装置40Xを用い、ネットワーク11を介して日程調整装置20にログインを行った場合(ステップS331)、中間入力者のログインに応じ、日程調整装置20の認証部211が、記憶部22が保持する中間入力者に対応するユーザ情報222に含まれるユーザアカウントまたはユーザ認証情報を用い、外部システム30に対して認証処理を行う(ステップS311)。日程調整部213は、上述した中間入力者によるログインと、それに応じた認証処理とが成功した場合に、該中間入力者がユーザであると認識する。
次に、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整開始者情報2231に登録されている調整開始者Aの調整条件と第2の候補日程を読み出し、カレンダツール31が管理する調整開始者A側の参加者及び中間入力者側の参加者のスケジュール情報311を参照して、現時点において、調整開始者Aの調整条件を満たし、調整開始者A側の参加者の空き日程であり、且つ、中間入力者のデフォルトの調整条件を満たし、中間入力者側の参加者の空き日程であり、第2の候補日程の範囲内である第3の候補日程を抽出する(ステップS312)。
次に、日程調整部213が、抽出した第3の候補日程を表す、ユーザである中間入力者用の日程調整画面850(図21)を、アクセスしてきた中間入力者の端末装置40Xに表示させる(ステップS313)。
図21は、ユーザである中間入力者用の日程調整画面850の表示例を示している。
日程調整画面850には、ユーザではない中間入力者用の日程調整画面800(図10)に対して、カレンダ801に第3の候補日程枠802に加えて、中間入力者の既存の予定(同図の場合、12月16日(水)13:00〜14:00)を表す既存予定枠851が表示される。また、日程調整画面850には、ユーザである中間入力者が、中間入力者の調整条件を追加できる画面(不図示)を表示させるための調整条件追加ボタン852が追加して設けられている。ユーザである中間入力者用の日程調整画面850に表示される第3の候補日程は、中間入力者の既存の予定を反映したものとなるので、中間入力者が、中間入力者にとって不都合な除外する手間を削減することができる。
図19に戻る。次に、中間入力者が、日程調整画面850の調整条件追加ボタン852を操作し、中間入力者の調整条件を入力する(ステップS332)。ここでは、例えば、中間入力者の調整条件として、中間入力者側の参加者を中間入力者本人とYの2名、会合の前後の確保時間を「30分」に設定したものとして説明を継続する。
次に、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整開始者情報2231に登録されている調整開始者Aの調整条件と第2の候補日程を読み出し、カレンダツール31が管理する調整開始者A側の参加者及び中間入力者側の参加者のスケジュール情報311を参照して、現時点において、調整開始者Aの調整条件を満たし、調整開始者A側の参加者の空き日程であり、且つ、中間入力者の調整条件を満たし、中間入力者側の参加者の空き日程であり、第2の候補日程の範囲内である第3の候補日程を抽出する(ステップS314)。
次に、日程調整部213が、抽出した第3の候補日程を表す、ユーザである中間入力者用の日程調整画面860(図22)を、アクセスしてきた中間入力者の端末装置40Xに表示させる(ステップS315)。
図22は、ユーザである中間入力者用の日程調整画面860の表示例を示している。日程調整画面860は、日程調整画面860に対して、中間入力者側の参加者の予定と、中間入力者の調整条件が反映されたものとなるので、中間入力者が中間入力者側の参加者の予定を確認する等の手間を削減することができる。
具体的には、日程調整画面850(図21)において、12月16日(水)14:00〜16:00に表示されていた第3の候補日程が、日程調整画面860では、中間入力者の会議予定(13:00〜14:00)と、会合前の確保時間「30分」とを反映して、14:30〜16:00に短縮される。また、日程調整画面850(図21)において、12月18日(金)11:30〜15:30に表示されていた第3の候補日程が、中間入力者側に追加された参加者Yの外出予定(09:00〜13:00)と会合前の確保時間「30分」とを反映して、13:30〜15:30に短縮される。
なお、ステップS332の中間入力者による調整条件の入力は行われないことがある。その場合、S332,S314,S315は省略されて、処理はステップS334に進められる。
図19に戻る。中間入力者が日程調整画面860(または日程調整画面850)にて、中間入力者側の参加者にとって不都合な日程を除外し、次に表示される日程確認画面(不図示)において、中間入力者が自身のメールアドレスを入力し、通知メールの送信タイミングを選択操作すると(ステップS334)、次に、日程調整装置20の日程調整部213が、調整開始者Aに対応する日程調整情報223に含まれる、該中間入力者に対応する調整相手情報2232Bに、ステップS332で入力された中間入力者の調整条件、中間入力者が不都合な日程を除外した結果としての第4の候補日程、中間入力者自身が入力したメールアドレス、及び通知メールの送信タイミングを登録する(ステップS316)。この後、日程調整部213は、次の調整相手Xがアクセスしてくるまで待機する。
そして、次にアクセスしてきた調整相手Xが中間入力者であって、且つ、ユーザである場合、ステップS331,S311,S312,S313,S332,S314,S315,S334,S316と同様の処理が繰り返される。
ただし、2番目以降にアクセスしてきた中間入力者に対するステップS312では、日程調整部213が、現時点において、調整開始者Aの調整条件を満たす調整開始者A側の参加者の空き日程であり、且つ、入力済みのユーザである中間入力者の調整条件を満たす該中間者側の参加者の空き日程であり、且つ、アクセスしてきた中間入力者のデフォルトの調整条件を満たす空き日程であり、且つ、入力済みの中間入力者(ユーザであるか否かは問わない)の第4の候補日程の共通の範囲内である第3の候補日程を抽出する。ステップS314では、日程調整部213が、現時点において、調整開始者Aの調整条件を満たす調整開始者A側の参加者の空き日程であり、且つ、入力済みのユーザである中間入力者の調整条件を満たす該中間者側の参加者の空き日程であり、且つ、アクセスしてきた中間入力者の調整条件を満たす空き日程であり、且つ、入力済みの中間入力者(ユーザであるか否かは問わない)の第4の候補日程の共通の範囲内である第3の候補日程を抽出する。
このように、2番目以降にアクセスしてきた中間入力者に対して提示される第3の候補日程は、先に入力済みの中間入力者がユーザである場合には、先に入力済みの中間入力者の調整条件を満たす該中間入力者側の参加者の空き日程であり、且つ、ユーザであるか否かに拘わらず先に入力済みの他の中間入力者の第4の候補日程が反映されたものとなる。したがって、中間入力者毎に登録される第4の候補日程は、入力済の中間入力者の数が増えるにつれて絞り込まれることになる。
なお、次にアクセスしてきた調整相手Xが中間入力者であって、ユーザではない場合、図9のステップS19,S20,S41,S21と同様の処理が繰り返される。ただし、2番目以降にアクセスしてきた中間入力者に対するステップS19では、日程調整部213が、現時点において調整開始者A側の参加者の空き日程であり、且つ、調整開始者Aの調整条件を満たし、且つ、入力済みの中間入力者の調整条件を満たす該中間入力者側の参加者の空き日程であり、且つ、ユーザであるか否かに拘わらず先に入力済みの他の中間入力者の第4の候補日程の範囲内である第3の候補日程を抽出する。
ここで、3名の調整相手Xのうち、1番目にアクセスしてきた中間入力者はユーザであり、2番目にアクセスしてきた中間入力者はユーザではないとする。この結果、記憶部22の調整開始者Aに対応する日程調整情報223に含まれる3つの調整相手情報2232のうちの1つがユーザである中間入力者に対応する調整相手情報2232Bとなり、他の1つがユーザではない中間入力者に対応する調整相手情報2232Aとなる。
以下、2番目の中間入力者による日程調整が終了し、3番目の調整相手Xがアクセスしてきて、ステップS18にて、最終入力者であると判定されたものとして説明を継続する。
図20に進む。アクセスしてきた調整相手Xが最終入力者である場合、次に、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整開始者情報2231に登録されている調整条件と、調整相手情報2232Bに登録されている調整条件及び第4の候補日程と、調整相手情報2232Aに登録されている第4の候補日程とを読み出し、カレンダツール31が管理する調整開始者A側の参加者及びユーザである中間入力者側の参加者のスケジュール情報311を参照して、現時点において、調整開始者Aの調整条件を満たす調整開始者A側の参加者の空き日程であり、且つ、ユーザである中間入力者の調整条件を満たす中間入力者側の参加者の空き日程であり、且つ、全ての第4の候補日程の共通の範囲内の第5の候補日程を抽出する(ステップS317)。
次に、日程調整部213が、第5の候補日程を表す最終入力者用の日程調整画面(不図示)を、最終入力者の端末装置40Xに表示させる(ステップS318)。
次に、最終入力者が、最終入力者用の日程調整画面に会合日程に決定し、次に表示される日程確認画面(不図示)において、自身のメールアドレスを入力し、通知メールの送信タイミングを選択し、会合日程の確定操作をすると(ステップS351)、日程調整装置20の日程調整部213が、カレンダツール31が管理する調整開始者A側の参加者及びユーザある中間入力者側の参加者のスケジュール情報311を参照し、最終入力者によって確定された会合日程が、現時点において調整開始者Aの調整条件を満たす調整開始者A側の参加者の空き日程であり、且つ、ユーザである中間入力者の調整条件を満たす中間入力者側の参加者の空き日程であることを最終確認する(ステップS319)。
ここで、確定された会合日程が、調整開始者Aの調整条件を満たす調整開始者A側の参加者の空き日程ではなくなっていたり、ユーザである中間入力者の調整条件を満たす中間入力者側の参加者の空き日程ではなくなっていたりした場合、例えば「指定した時間は埋まってしまいました。再度選択し直してください」等のメッセージを最終入力者の端末装置40Xに表示し、処理をステップS318に戻して、最終入力者による会合日程の選択操作からやり直せばよい。反対に、確定された会合日程が、調整開始者Aの調整条件を満たす調整開始者A側の参加者の空き日程であり、且つ、ユーザである中間入力者の調整条件を満たす中間入力者側の参加者の空き日程であることが最終確認できた場合、最終入力者の端末装置40Xには、最終入力者自身が確定した会合日程等を表す日程通知画面(不図示)が表示される(ステップS320)。
また、ステップS319にて最終確認できた場合、日程調整部213が、カレンダツール31が管理する調整開始者A側の参加者及びユーザである中間入力者側の参加者のスケジュール情報311に、調整中の会合の予定を登録する。また、日程調整部213が、記憶部22が保持する調整開始者Aに対応する日程調整情報223に含まれる調整基本情報2233に確定した会合の日時及び場所を登録する。さらに、日程調整部213が、記憶部22が保持する調整開始者Aに対応する日程調整情報223に含まれる、最後にアクセスされた調整用URLが登録されている調整相手情報2232に、最終入力者自身が入力したメールアドレス、及び通知メールの送信タイミングを登録する(ステップS321)。
次に、日程調整部213が、調整開始者Aに対応する日程調整情報223の調整相手情報2232を参照し、調整相手Xそれぞれが指定したタイミングに従い、会合の開催を通知するための通知メールを、調整相手Xそれぞれが指定したメールアドレスに送信する(ステップS322)。
ただし、本実施形態では、調整相手Xが端末装置40Xにて電子メールを受信することを想定し、ステップS322として、日程調整装置20から端末装置40Xへの矢印を図示しているが、調整相手Xは端末装置40X以外の電子機器により日程調整装置20からの通知メールを受信してもよい。
以上で、中間入力者のうちの少なくとも1名がユーザである場合のαパターンに対応する日程調整処理が終了される。
先に説明した、中間入力者がユーザではない場合のαパターンに対応する日程調整処理においては、中間入力者の最新の予定が取得できなかったため、中間入力者側にダブルブッキングを発生させる可能性があった。一方、中間入力者のうちの少なくとも1名がユーザである場合のαパターンに対応する日程調整処理によれば、ユーザである中間入力者側の参加者の最新の予定が取得できるので、中間入力者側にダブルブッキングが発生する可能性を低減させることができる。さらに、中間入力者全員がユーザであれば、ダブルブッキングの発生を限りなく0に近づけることができる。
さらに、中間入力者のうちの少なくとも1名がユーザである場合のαパターンに対応する日程調整処理によれば、確定した会合の日程等をユーザである中間入力者側の参加者が利用するカレンダツール31に登録することができる。よって、中間入力者側で従来必要であった人手によるカレンダツール31に対するスケジュール登録の手間を省くことができる。
このように、ユーザである中間入力者用の日程調整画面850に表示される第3の候補日程は、中間入力者の既存の予定と、追加された調整条件を反映したものとなるので、中間入力者が自身にとって不都合な除外する手間を削減することができる。
なお、最終入力者としての調整相手Xが日程調整装置20のユーザである場合の最終入力者用の日程調整画面(不図示)は、日程調整画面850と同様、調整条件追加ボタンが追加して設けられ、そのカレンダには、ユーザである最終入力者の既存の予定を表す既存予定枠が表示されたものとなる。したがって、ユーザである最終入力者が自身にとって不都合な日程を誤って会合日程に選択してしまうミスを抑止できる。
また、中間入力者のうちの少なくとも1名がユーザである場合のβパターン、γパターンに対応する動作例については、同様に、ユーザである中間入力者の調整条件と、中間入力者側の参加者の空き日程とを反映させて各候補日程を抽出するようにすればよい。これにより、ユーザである中間入力者側にダブルブッキングが発生する可能性を低減させることができる。
<調整開始者A側の参加者が0名である場合>
日程調整装置20は、調整相手Xが2名以上であれば、調整開始者A側の参加者が0名であっても運用が可能であり、それ故に、条件設定画面500(図5)には自社からの参加者の有無を選択するためのラジオボタン503が設けられている。なお、自社からの参加者の有無は、調整相手の数及び調整パターンと同様に、調整条件には含まない独立した設定値として定義する。また、自社からの参加者の有無は、調整相手の数及び調整パターンと同様に、日程調整情報223の調整基本情報2233に登録してもよい。
次に、条件設定画面500(図5)のラジオボタン503により、自社からの参加者が「参加者無」を選択した場合の動作について説明する。該動作は、調整パターンがαパターン、βパターン、またはγパターンのいずれにも適用できる。
自社からの参加者が「参加者無」の場合、上述した日程調整処理のステップS14(図4)では、存在しない調整開始者A側の参加者の空き日程に拘わりなく、調整開始者Aの調整条件を満たす第1の候補日程が抽出されることになる。具体的には、候補日程の抽出期間及び会合の実施可能時間帯に含まれる、全ての日程が調整開始者A側の空き日程であるものとして候補日程の抽出処理を行う。調整開始者A側の参加者の空き日程であることを候補日程抽出の条件としていたステップS19,S22等においても同様である。
そして、自社からの参加者が「参加者無」の場合、ステップS26等では、確定した会合の日時や場所等が、調整開始者A側の参加者のスケジュール情報311に予定ではなく備忘録として登録されてもよいし、共用のスケジュール情報311に参加者不在の予定として登録されてもよい。
調整開始者A側の参加者を0名とする運用は、例えば、人材紹介会社(法人会員)の社員(調整開始者A)が、求人中の会社の担当者(調整相手X1)と、求職者(調整相手X2)との2者による採用面接の日程調整を仲介するような場合に適用することができる。
本実施形態の日程調整装置は、典型的には例えばWebページとして各種の操作画面を用意し、端末装置のWebブラウザに表示させることができる。しかし、この態様に限られない。例えば、端末装置に各種の操作画面を備える専用アプリケーションをインストールしてもよい。この場合、日程調整装置は、各種の操作画面に表示させる一部内容(候補日程などのデータ)を端末装置に送信するだけで、端末装置の専用アプリケーションに各種操作画面を表示させることができる。すなわち、本発明の日程調整装置は、端末装置に画面を表示させることができる様々な態様も含むことができる。
本発明は、上述した実施形態や変形例に限定されるものではなく、さらに様々な変形が可能である。例えば、上述した実施形態や変形例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある変形例の一部を他の変形例に置き換えたり、変形例を組み合わせたりすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。