以下、本発明に係る一実施形態を図面に基づいて説明する。なお、一実施形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。また、以下の実施形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。また、「Aからなる」、「Aよりなる」、「Aを有する」、「Aを含む」と言うときは、特にその要素のみである旨明示した場合等を除き、それ以外の要素を排除するものでないことは言うまでもない。同様に、以下の実施形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。
<本発明の一実施形態に係る日程調整システム10>
図1は、本発明の一実施形態に係る日程調整システム10の構成例を示している。
該日程調整システム10は、会合の日程調整を支援するためのものである。日程調整システム10は、ネットワーク11を介して接続された日程調整装置20、外部システム30、及び端末装置40A,40Xを含む。
ネットワーク11は、インターネット、携帯電話通信網等に代表される双方向通信網である。
日程調整装置20は、調整開始者Aからの要求に応じ、調整相手Xと会合の日程調整を行うものである。なお、会合に参加する人としては、調整開始者A、調整開始者Aが属する企業等の組織(後述する法人会員)の所属者、及び調整相手Xが想定される。ただし、本明細書において、会合の「参加者」を、上述した会合に参加する人のうち、調整開始者A、及び調整開始者Aが属する組織の所属者と定義し、会合に参加する調整相手Xは「参加者」に含まない(「参加者」と称しない)ものとする。
外部システム30は、Webアプリケーションとしてのカレンダツール31を有償または無償で一般消費者や法人等に広く提供しているシステムを指す。カレンダツール31としては、例えば、Googleカレンダー(商標)やMicrosoft Outlook(商標)を採用できる。カレンダツール31は、カレンダツール31の利用者の行動予定や、利用者が利用可能な会合の会場の予約状況が登録されているスケジュール情報311を保持する。
調整開始者Aが用いる端末装置40Aは、ネットワーク11を介して日程調整装置20に接続可能なパーソナルコンピュータ、スマートフォン等の一般的なコンピュータからなる。同様に、調整相手Xが用いる端末装置40Xは、一般的なコンピュータからなる。端末装置40Aは本発明の第1の端末装置に相当し、端末装置40Xは本発明の第2の端末装置に相当する。
なお、本実施形態においては、会合に参加する調整相手Xが端末装置40Xを操作することにしているが、実際には調整相手Xの代理人(秘書等)が端末装置40Xを操作してもよい。また、調整開始者Aが、自身と同じ組織(後述する法人会員)の所属者の中から複数の参加者を選択し、調整開始者Aが複数の参加者を代表して日程調整を行うようにしてもよい。
さらに、図1には、会議に参加する調整相手として調整相手Xだけを例示しているが、調整相手は複数存在してもよい。
調整開始者Aは、該日程調整装置20への利用登録を済ませた企業の社員である。以下、日程調整装置20への利用登録を済ませた企業等を法人会員と称する。また、法人会員(企業等)に属する所属者のうち、日程調整装置20のユーザアカウントを有する所属者をユーザと定義する。調整開始者Aはユーザであることが必須である。よって、以下、調整開始者AをユーザAとも称する。調整開始者Aと同じ法人会員に属する調整開始者A以外の所属者は、ユーザであってもよいが必須ではない。なお、該日程調整装置20への利用登録は企業等ではなく個人でも行うことができ、その場合、利用登録を済ませた個人を個人会員と称し、個人会員とユーザは同一視できる。
日程調整装置20の法人会員に属する所属者は、自身の予定を、外部システム30が提供しているカレンダツール31を用いて管理しているものとする。また、日程調整装置20の法人会員は、会合の会場として所属者が利用可能な会議室、応接室、予備室等の予約状況を、外部システム30が提供しているカレンダツール31を用いて管理しているものとする。
したがって、いまの場合、カレンダツール31は、会合の参加者となり得る調整開始者A等の予定、及び、調整開始者A等が利用可能な会合の会場の予約状況がそれぞれ登録されているスケジュール情報311を保持しているものとする。
なお、調整相手Xは、日程調整装置20のユーザであってもよいが必須ではない。また、調整相手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)を用いることができる。なお、調整開始者Aの認証処理が済んだ後には、日程調整部213は、例えばWebAPI(Application Programming Interface)を通じて、カレンダツール31に保持されている、調整開始者A及び調整開始者Aと同じ法人会員に属する所属者の予定が登録されているスケジュール情報311、並びに、調整開始者A及び調整開始者Aと同じ法人会員に属する所属者が利用可能な会合の会場(会議室等)の予定が登録されているスケジュール情報311を、参照したり、更新したりすることが可能であるものとする。
調整条件設定部212は、会合の日程調整に必要な複数の項目からなる調整条件を設定するための条件設定画面を端末装置40Aに表示させ、条件設定画面に対する調整開始者Aからの入力に応じて調整条件を設定し、記憶部22が保持する、調整開始者Aに対応する日程調整情報223に登録する。調整条件の項目については後述する。
日程調整部213は、カレンダツール31が管理する、会合の参加者(調整開始者Aが含まれる場合と含まれない場合がある)のスケジュール情報311を参照し、参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たす第1の候補日程を抽出する。そして、日程調整部213は、第1の候補日程を編集するための日程編集画面を端末装置40Aに表示させ、日程編集画面に対する調整開始者Aからの編集操作に応じて第2の候補日程を決定する。また、第2の候補日程を調整開始者Aに対応する日程調整情報223に登録する。調整開始者Aによって第1の候補日程が編集されなかった場合は、第1の候補日程と第2の候補日程は同じになる。
また、日程調整部213は、調整相手Xが日程調整画面にアクセスするための調整用URL(Uniform Resource Locator)を発行する。調整用URLは、テキストで発行してもよいし、QRコード等の画像として発行してもよい。発行された調整用URLは、調整開始者Aにより電子メール等を用いて調整相手Xに送信される。調整用URLは、本発明のアクセス情報に相当する。
さらに、日程調整部213は、調整相手Xが端末装置40Xを用いて調整用URLにアクセスしてきた場合、その時点において、再びカレンダツール31が管理する、参加者のスケジュール情報311を参照し、参加者の予定が存在しない空き日程であり、且つ、設定された調整条件を満たし、且つ、第2の候補日程の範囲内である第3の候補日程を抽出する。そして、日程調整部213は、第3の候補日程を表す日程調整画面を端末装置40Xに表示させる。
第3の候補日程を抽出することにより、調整用URLが発行されてから調整相手Xがアクセスしてくるまでの間に参加者のスケジュールに変更があった場合でも、それに起因するダブルブッキングの発生を抑止できる。
またさらに、日程調整部213は、日程調整画面に表示された第3の候補日程の中から調整相手Xが会合日程を選択し、確認画面で確定した会合日程をカレンダツール31が管理する参加者のスケジュール情報311に登録するとともに、記憶部22が保持する、調整開始者Aに対応する日程調整情報223に登録する。なお、日程調整画面に表示された第3の候補日程の中から調整相手Xが会合日程を選択し、確認画面で確定するまでの短い時間においても参加者のスケジュールは変更し得る。よって、日程調整部213は、確認画面にて会合日程が確定される直前において、選択された会合日程が参加者の空き日程であり、且つ、調整条件を満たすことを最終確認するようにしてもよい。そして、選択された会合日程が空き日程ではなくなっていた場合、例えば「指定した時間は埋まってしまいました。再度選択し直してください」等のメッセージを端末装置40Xに表示し、日程調整画面に操作を差し戻すようにすればよい。これにより、ダブルブッキングの発生をさらに抑止できる。
記憶部22は、コンピュータのメモリ及びストレージによって実現される。記憶部22には、会員情報221、ユーザ情報222、及び日程調整情報223が保持される。なお、記憶部22には、上述した情報以外の情報を格納してもよい。
通信部23は、コンピュータの通信モジュールによって実現される。通信部23は、ネットワーク11を介し、外部システム30、端末装置40A,40X等と接続して各種のデータや情報を通信する。
なお、日程調整装置20を構成する上述した機能ブロックの一部または全部は集積回路等のハードウェアによって実現してもよい。また、日程調整装置20は、複数のコンピュータによって実現してもよく、その場合、上述した機能ブロックは複数のコンピュータに分散して配置してもよい。
次に、図2は、記憶部22に保持される会員情報221、ユーザ情報222、及び日程調整情報223の一例を示している。
会員情報221は、日程調整装置20への利用登録を済ませた各会員に関する情報からなる。具体的には、法人会員の場合、会員情報221は、管理者アカウント、管理者認証情報、基本情報、所属者情報、及び会場情報を含む。
管理者アカウントは、法人会員(企業等)のシステム管理者等が日程調整装置20にログインするための情報である。管理者アカウントは、システム管理者等が外部システム30にアクセスするためのアカウント(例えば、システム管理者等のメールアドレス)と共通であることが望ましい。管理者アカウントは、日程調整装置20への利用登録時に記録される。
管理者認証情報は、日程調整装置20の認証部211が管理者アカウントを用い、外部システム30に初めて認証処理を行った際に認証処理の成功結果として外部システム30から得られるアクセストークン等である。管理者認証情報が得られた以降、認証部211は、管理者アカウントを用いることなく、管理者認証情報を用いてより速やかに外部システム30に対して認証処理を行うことができる。
基本情報は、法人会員の名称(企業名等)等である。基本情報は、利用登録時に記録される。所属者情報は、法人会員(企業等)に属する所属者の氏名及び外部システム30にアクセスするためのユーザアカウント等の一覧である。所属者情報は、利用登録時に記録してもよいし、日程調整に必要な全ての所属者がカレンダツール31を既に使用していることを前提とし、外部システム30から取得して記録してもよい。
会場情報は、法人会員に属する所属者が会合に利用できる会議室、応接室、予備室等の会場の名称、及び外部システムにおける会場の識別ID等の一覧である。会場情報は、システム管理者等が利用登録時に記録してもよいし、日程調整に必要な全ての会場のスケジュールがカレンダツール31によって既に管理されていることを前提とし、外部システム30から取得して記録してもよい。
個人会員の場合、会員情報221の管理者アカウント、管理者認証情報、及び基本情報は、後述するユーザ情報222のユーザアカウント、ユーザ認証情報、及びユーザ基本情報と共通である。これらは利用登録時に記録される。所属者情報、及び会場情報は省略できる。
ユーザ情報222は、法人会員に属する所属者のうちの日程調整装置20に対するユーザアカウントを有するユーザ、または個人会員自身に関する情報からなる。ユーザ情報222は、各ユーザが日程調整装置20に初めてログインした際に作成されて、会員情報221に対応付けられる。
ユーザ情報222は、ユーザアカウント、ユーザ認証情報、ユーザ基本情報、及び調整条件初期値を含む。
ユーザアカウントは、ユーザが日程調整装置20にログインするための情報である。ユーザアカウントは、ユーザが外部システム30にアクセスするためのアカウント(例えば、ユーザのメールアドレス)と共通であることが望ましい。
ユーザ認証情報は、認証部211がユーザアカウントを用い、外部システム30に初めて認証処理を行った際に認証処理の成功結果として外部システム30から得られるアクセストークン等である。ユーザ認証情報が得られた以降、認証部211は、ユーザアカウントを用いることなく、ユーザ認証情報を用いてより速やかに外部システム30に対して認証処理を行うことができる。
ユーザ基本情報は、ユーザの氏名等であり、会員情報221の所属者情報から読み出されて記録される。調整条件初期値は、ユーザが設定した会合の調整条件の初期値であり、日程調整を行う前に予めユーザ情報222に登録される(詳細後述)。
日程調整情報223は、各ユーザに対応付けて、ユーザが調整開始者となる会合毎に作成される。日程調整情報223には、日程調整時において、調整用URL、調整条件、候補日程(第1〜第3の候補日程)、会合の場所、会合の方法、及び調整開始者が入力したコメントが逐次記録、更新される。また、日程調整情報223には、日程確定後において、調整相手の入力した、メールアドレス、会合の日時、会合の場所、会合の方法、コメント、及び、会合の方法がWeb会議である場合はWeb会議に参加するためのWeb会議URLが記録される。
<日程調整システム10による日程調整処理>
次に、図3は、日程調整システム10による日程調整処理の一例を説明するシーケンス図である。
はじめに、調整開始者Aが、端末装置40Aを用い、ネットワーク11を介して日程調整装置20にログインを行う(ステップS1)。そして、調整開始者Aのログインに応じ、日程調整装置20の認証部211が、記憶部22が保持する調整開始者Aに対応するユーザ情報222に含まれるユーザアカウントまたはユーザ認証情報(アクセストークン等)を用い、外部システム30に対して認証処理を行う(ステップS11)。
次に、日程調整装置20の調整条件設定部212が、調整条件を設定するための条件設定画面500(図4等)を端末装置40Aに表示させる(ステップS12)。
図4及び図5は、端末装置40Aに表示される条件設定画面500の表示例であり、図4は条件設定画面500の上方部分、図5は図4に示された上方部分を下方向にスクロールすることにより表示される条件設定画面500の下方部分を示している。
条件設定画面500には、図4に示すように、会合件名を入力するための入力欄502、会合場所を調整するか否かを選択するためのラジオボタン503、指定した会合場所の調整相手による変更を許容するか否かを選択するためのラジオボタン504、会合場所として勤務場所、勤務場所とは異なる場所、またはWeb会議を選択するためのラジオボタン505、及び、会合場所の名称や住所等を入力するための入力欄506が設けられている。なお、入力欄506は、ラジオボタン505にて「勤務場所」または「勤務場所とは異なる場所」が選択された場合に設けられる。また、ラジオボタン505にて「Web会議」が選択された場合、会合の方法(手段)としてのWeb会議に用いるビデオ通話アプリケーションを選択するためのラジオボタン(不図示)が入力欄506の代わりに設けられる。また、ラジオボタン503にて「調整しない」が選択された場合、ラジオボタン504,505、及び入力欄506の代わりにコメント入力欄(不図示)だけが設けられる。
さらに、条件設定画面500には、図5に示すように、会合の所要時間を入力するための選択入力欄511、会合の前後それぞれの確保時間を入力するための選択入力欄5121,5122、候補日程の抽出期間を入力するための選択入力欄513、会合可能時間帯を入力するための選択入力欄514、会合に用いる会場を入力するための選択入力欄515が設けられている。ここで、会合の前後それぞれの確保時間とは、会場への移動、準備作業、撤収作業、休憩等のための時間である。
なお、選択入力欄511〜515については、調整開始者Aに対応付けられた日程調整情報223が参照され、調整開始者Aが直近で調整開始者となった会合の調整条件の内容が反映された状態で表示される。これにより、調整開始者Aによる調整条件の入力の手間を軽減できる。なお、選択入力欄511〜515に、直近の会合の調整条件を自動的に反映するか否かは、調整開始者Aの指定により選択できるようにしてもよい。
またさらに、条件設定画面500には、調整開始者Aが属する法人会員の所属者の中から会合に参加する1名以上の参加者(調整開始者A自身が含まれなくてもよい)を指定して入力するための入力欄516、入力欄516に入力した参加者の会合参加条件を選択するためのラジオボタン517、確認画面900(図11)において調整相手Xによるメールアドレスの入力を省略するため入力欄518、会合の予定を非公開で登録するか否かを選択するためのチェックボックス519、及び、入力された各項目を確定して会合の候補日程の抽出を指示するための候補日程抽出ボタン520が設けられている。
なお、入力欄516に複数の参加者を指定して入力し、入力した参加者の全員が会合に参加する必要がある場合、ラジオボタン517にて「全員参加」を選択すればよい。また、入力欄516に複数の参加者を入力し、入力した参加者のうちの少なくとも1名が参加すればよい場合、ラジオボタン517にて「誰か1名だけ参加」を選択すればよい。入力欄516に参加者を1名だけ入力した場合、ラジオボタン517は自動的に「全員参加」が選択されるが、参加者が1名の場合は、「全員参加」または「誰か1名だけ参加」のいずれが選択された場合であっても、候補日程の抽出等のその後の動作は全て同じものとなる。
図3に戻る。端末装置40Aに表示された条件設定画面500において、調整開始者Aが調整条件の各項目を入力し、候補日程抽出ボタン520を操作すると(ステップS2)、この操作に応じ、日程調整装置20の調整条件設定部212が、調整開始者Aのユーザ情報222に対応付けて新たな日程調整情報223を作成して記憶部22に保持させ、設定された調整条件を日程調整情報223に登録する(ステップS13)。
いまの場合、例えば、図4及び図5に示されたように、調整条件として、会合件名は「○×商事 ××様との新製品の商談」、指定した会合場所の調整相手による変更は「許容する」、会合場所は勤務場所とは異なる「○×商事」、会合の所要時間は「60分」、会合の前後それぞれの確保時間は「30分」、候補日程の抽出期間は「2020/12/16」〜「2020/12/25」の8営業日、可能時間帯は「09:00〜18:00」、会場は「指定なし」、参加者入力は「自分(調整開始者A)」、入力した参加者の会合参加条件は「全員参加」、調整相手のメールアドレスは「指定なし」、会合の予定の登録は「公開」に設定されたものとして以降の説明を継続する。
次に、日程調整部213が、記憶部22から調整開始者Aの日程調整情報223に登録されている調整条件を読み出し、外部システム30のカレンダツール31が管理する、参加者のスケジュール情報311を参照して、現時点において参加者の空き日程であり、且つ、調整条件を満たす第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にて「全員参加」が選択されている場合、参加者全員のスケジュール情報311が参照され、参加者全員の共通の空き日程であり、且つ、調整条件を満たす第1の候補日程が抽出されることになる。反対に、条件設定画面500の入力欄516に、複数の参加者(調整開始者Aが含まれていても含まれていなくてもよい)が入力され、且つ、ラジオボタン517にて「誰か1名だけ参加」が選択されている場合、参加者全員のスケジュール情報311が参照され、参加者全員のうちの少なくとも1名の空き日程であり、且つ、調整条件を満たす第1の候補日程が抽出されることになる。後述する第2及び第3の候補日程を抽出する際も同様である。
次に、日程調整部213が、第1の候補日程を表す日程編集画面600(図6等)を端末装置40Aに表示させる(ステップS15)。
図6及び図7は、端末装置40Aに表示される日程編集画面600の表示例を示している。日程編集画面600には、候補日程期間枠601、日付を横軸、時刻を縦軸として格子状に表示したカレンダ602、及び、第1の候補日程が日毎にリスト化された候補日程リスト605が表示される。また、日程編集画面600には、URL発行ボタン606、及び、戻るボタン607が設けられている。
候補日程期間枠601は、条件設定画面500の選択入力欄513に入力された候補日程の抽出期間のうち、第1の候補日程が存在する期間を表す。
カレンダ602には、カレンダツール31が管理する、参加者のスケジュール情報311に基づき、カレンダ602上の表示期間における参加者の予定を表す既存予定枠604と、第1の候補日程枠603とが区別できるように色等を変えて表示される。これにより、調整開始者Aは、参加者の既存予定を確認しながら第1の候補日程を編集することができる。なお、いまの場合、参加者は調整開始者Aの1名だけなので、日程編集画面600のカレンダ602には、調整開始者Aの既存予定だけが既存予定枠604として表示されているが、参加者が複数である場合、参加者全員の既存予定が既存予定枠604として表示される。この場合、複数の参加者のうちの誰の既存予定であるのかを区別できるように、既存予定枠604内に参加者名を表示したり、既存予定枠604を色分けしたりしてもよい。
候補日程リスト605には、第1の候補日程が日毎にリスト化して表示される。
調整開始者Aは、カレンダ602における第1の候補日程枠603を選択することにより表示されるポップアップ画面611(図7)を用いて第1の候補日程を編集することができる。例えば、12月17日10:30〜15:30の枠を選択してポップアップ画面611を表示させ、ポップアップ画面611の「変更する」を選択すれば、当該枠の開始時刻10:30を遅くしたり、終了時刻15:30を早くしたりすることができる。また、ポップアップ画面611の「一部除外する」を選択すれば、当該枠の一部、例えば、12:00〜13:00を第1の候補日程から除外できる。また、ポップアップ画面611の「除外する」を選択すれば、当該枠を第1の候補日程から除外できる。カレンダ602における第1の候補日程の編集結果は候補日程リスト605に反映される。なお、第1の候補日程の編集は、端末装置40Aが備える入力デバイス(マウス、タッチパネル等)の操作に応じて、画面上のドラッグアンドドロップ等の操作により行えてもよい。端末装置40A,40Xにおけるその他の画面操作についても同様とする。
なお、調整開始者Aは、候補日程リスト605においても第1の候補日程を編集することができる。
URL発行ボタン606は、カレンダ602において調整開始者Aによる第1の候補日程の編集結果(第2の候補日程)を確定し、調整相手が日程調整画面にアクセスするための調整用URLの発行を指示するためのボタンである。戻るボタン607は、条件設定画面500に戻るためのボタンである。
いまの場合、調整開始者Aが日程編集画面600にて、第1の候補日程から12月16日15:00〜16:00を除外したとして以降の説明を継続する。
図3に戻る。端末装置40Aに表示された日程編集画面600において、調整開始者Aが必要に応じて第1の候補日程を編集し、URL発行ボタン606を操作すると(ステップS3)、次に、日程調整装置20の日程調整部213が、調整用URLを発行し、調整用URLと第2の候補日程を、調整開始者Aに対応する日程調整情報223(ステップS13で作成したもの)に登録する(ステップS16)。なお、第2の候補日程は、日程調整情報223に登録されている第1の候補日程に上書きしてもよい。
次に、日程調整部213が、発行した調整用URLと、該調整用URLを調整相手に送信するように指示するメッセージとを端末装置40Aに表示させる(ステップS17)。
該メッセージに応じ、次に、調整開始者Aが、端末装置40Aに表示された調整用URLをコピーし、電子メール等にペーストして調整相手Xの端末装置40Xに送信する(ステップS4)。
次に、調整用URLを受信した調整相手Xが端末装置40Xを用いて調整用URLにアクセスすると(ステップS31)、日程調整装置20の日程調整部213が、記憶部22から当該調整用URLに対応する調整開始者Aの日程調整情報223に登録されている調整条件と第2の候補日程を読み出し、カレンダツール31が管理する参加者のスケジュール情報311を参照して、現時点において参加者の空き日程であり、且つ、調整条件を満たし、且つ、第2の候補日程の範囲内である第3の候補日程を抽出する(ステップS18)。
いまの場合、調整用URLが発行されてから調整相手Xがアクセスしてくるまでの間に、調整開始者Aのスケジュール情報311に12月17日(木)13:00〜14:00の予定が追加されたものとする。この場合、第3の候補日程は、第2の候補日程から、会合の前後の確保時間「30分」を加味した12月17日(木)12:30〜14:30を除外したものとなる。すなわち、調整開始者Aの追加された予定に対しても調整条件の「前後の確保時間」は適用される。
次に、日程調整部213が、日程調整画面700(図8)を端末装置40Xに表示させる(ステップS19)。
図8は、日程調整画面700の表示例を示している。日程調整画面700は、会合の場所を調整相手Xが確認するための画面である。日程調整画面700には、調整開始者Aが条件設定画面500(図4)の入力欄506に入力した会合場所(会場名、住所等)、及び会合場所を地図上に示すためのMAPボタン701が表示される。さらに、日程調整画面700には、調整開始者Aが指定した会合場所で良いか否かを選択するためのラジオボタン702、調整開始者Aへの返答コメントを入力するための入力欄703、及び、日程選択ボタン704が設けられている。ただし、ラジオボタン702については、条件設定画面500(図4)にて調整開始者Aがラジオボタン504により「調整相手による場所変更を許容する」を選択した場合にのみ調整相手Xが選択できるようになされている。したがって、調整開始者Aが条件設定画面500のラジオボタン504により「調整相手による場所変更を許容しない」を選択した場合、調整相手Xは調整開始者Aが指定した会合場所で良いか否かを選択できない。
日程調整画面700に表示されている会合場所が不都合ではない場合、調整相手Xはラジオボタン702にて「上記場所でOK」を選択し、日程選択ボタン704を操作すればよい。反対に、日程調整画面700に表示されている会合場所が不都合である場合、調整相手Xはラジオボタン702にて「場所を変更する」を選択すればよい。「場所を変更する」が選択されたことに応じ、日程調整画面700には、調整相手Xが会合場所の変更先(場所名、住所、ビル名、階数等)を入力するための入力欄(不図示)が追加表示されるので、調整相手Xは、該入力欄に会合場所の変更先を入力して日程選択ボタン704を操作すればよい。
なお、調整開始者Aが条件設定画面500のラジオボタン503により「会合場所を調整しない」を選択した場合、会合場所の表示欄及び入力欄は表示されない。
また、調整開始者Aが条件設定画面500のラジオボタン505により「Web会議」を選択した場合、日程調整画面700には、会合場所の代わりに、Web会議を行う旨のメッセージ、及び会合の方法(手段)としてのWeb会議に用いるビデオ通話アプリケーションの名称が表示され、ラジオボタン702の説明表示が例えば「上記でOK」と「変更する」(不図示)に変更される。日程調整画面700に表示されているビデオ通話アプリケーションが不都合ではない場合、調整相手Xはラジオボタン702にて「上記でOK」を選択し、日程選択ボタン704を操作すればよい。反対に、日程調整画面700に表示されているビデオ通話アプリケーションが不都合である場合、調整相手Xはラジオボタン702にて「変更する」を選択すればよい。「変更する」を選択した場合には、調整相手Xは、コメント入力欄に例えば「第1ビデオ通話アプリは使っていないので、第2ビデオ通話アプリでお願いします」等と入力して日程選択ボタン704を操作すればよい。
調整相手Xが日程調整画面700の日程選択ボタン704を操作すると、端末装置40Xには日程調整画面800(図9)が表示される。
図9及び図10は、第3の候補日程を表す日程調整画面800の表示例を示している。日程調整画面800には、日付を横軸、時刻を縦軸として格子状に表示したカレンダ801、及び、第3の候補日程が日毎にリスト化された候補日程リスト803が表示される。また、日程調整画面800には、不都合ボタン804、及び、確認画面ボタン805が設けられている。
カレンダ801には、第3の候補日程枠802がその他の枠と区別できるように色等を変えて表示される。なお、カレンダ801には、日程編集画面600(図6)のカレンダ602とは異なり、参加者の既存予定は表示されない。よって、調整相手Xに対して参加者のプライバシを守ることができる。
候補日程リスト803には、第3の候補日程が日毎にリスト化して表示される。
調整相手Xは、カレンダ801における第3の候補日程枠802のいずれかを選択することにより会合日程を選択することができる。なお、会合の所要時間「60分」よりも長い第3の候補日程枠810(図10)が選択された場合にはポップアップ画面811(図10)が表示される。ポップアップ画面811には、選択した枠の時間内に設定可能な候補日程が示される。図10の場合、ポップアップ画面811では、候補日程の開始時刻を15分毎または30分毎の間隔でずらすことができるが、この間隔を任意に設定できるようにしてもよい。また、候補日程の開始時刻を任意に設定できるようにしてもよい。調整相手Xは、ポップアップ画面811に示された日程候補のいずれかを選択することにより、会合日程を決定することができる。
いまの場合、調整相手Xが日程調整画面800にて、12月17日11:00〜12:00を会合日程に決定したとして以降の説明を継続する。
不都合ボタン804は、日程調整画面800に示された第3の候補日程が不都合である場合に操作するボタンである。調整相手Xが不都合ボタン804を操作した場合、提案された候補日程が不都合である旨が調整開始者Aに通知される。この場合、調整開始者Aは、調整条件を変更し、改めて日程調整処理を実行することになる。
確認画面ボタン805は、決定した会合日程を確認するためのボタンである。調整相手Xが確認画面ボタン805を操作すると、端末装置40Xには、第3の候補日程の中から選択、決定した会合日程を調整相手X自身が確認するための確認画面900(図11)が表示される。
図11は、確認画面900の表示例を示している。確認画面900には、日付を横軸、時刻を縦軸として格子状に表示したカレンダ901、及び、会合詳細903が表示される。
カレンダ901には、日程調整画面800にて調整相手X自身が選択、決定した会合日程枠902がその他の枠と区別できるように色等を変えて表示される。会合詳細903には、日程、及び会合の場所が表示される。なお、日程調整画面700(図8)にて、調整相手Xが、ラジオボタン702にて「場所を変更する」を選択し、入力欄703に会場の変更先を記載した場合、会合詳細903には、会合場所の変更先として調整相手Xが入力した、場所名、住所、ビル名、階数等が表示される。また、日程調整画面800にて調整相手Xがコメントを入力している場合には、該コメントが会合詳細903に表示される。
また、確認画面900には、調整相手Xが自身のメールアドレスを入力するための入力欄904、自身に対して会合の開催を通知するためのメールの送信タイミングを設定するためのチェックボックス905、日程調整画面800に戻るための戻るボタン906、及び、確認画面900に表示された内容を確定するための確定ボタン907が設けられている。
図3に戻る。端末装置40Xに表示された確認画面900(図11)において、調整相手Xが自身のメールアドレスを入力欄904に入力し、確定ボタン907を操作すると(ステップS32)、日程調整部213が、カレンダツール31が管理する参加者のスケジュール情報311を参照して、確認画面900にて確定された会合日程が、現時点において参加者の空き日程であり、且つ、調整条件を満たし、且つ、第2の候補日程の範囲内であることを最終確認する(ステップS20)。ここで、確定された会合日程が、参加者の空き日程ではなくなっていたり、調整条件を満たさなくなっていたりした場合、例えば「指定した時間は埋まってしまいました。再度選択し直してください」等のメッセージを端末装置40Xに表示し、処理をステップS18に戻して、日程調整画面800に対する調整相手Xの操作からやり直せばよい。反対に、確定された会合日程が、参加者の空き日程であって、且つ、調整条件を満たし、且つ、第2の候補日程の範囲内であることが最終確認できた場合、端末装置40Xには、調整相手X自身が確定した会合の日程等を表す通知画面1000(図12)が表示される(ステップS21)。
図12は、通知画面1000の表示例を示している。通知画面1000には、確定した会合の日程、場所、調整開始者Aからのコメント等が表示される。また、通知画面1000には、カレンダツールへの登録ボタン1001、及び、スケジュールアプリへの登録ボタン1002が設けられている。調整相手Xは、自身がカレンダツール31を利用している場合、登録ボタン1001を操作することにより、確定された会合の予定を調整相手X自身の予定としてカレンダツール31に登録することができる。また、調整相手Xは、登録ボタン1002を操作することにより、自身が利用しているスケジュール管理用のアプリケーションプログラム(例えば、Outlook(商標)等)に、確定された会合の予定を登録することができる。
また、ステップS20の最終確認にて、確定された会合日程が、参加者の空き日程であって、且つ、調整条件を満たし、且つ、第2の候補日程の範囲内であることを最終確認できた場合、日程調整部213が、カレンダツール31が管理する参加者のスケジュール情報311に、調整相手Xとの会合の予定を登録する。また、日程調整部213が、記憶部22が保持する調整開始者Aに対応する日程調整情報223(ステップS13で作成したもの)に、調整相手Xのメールアドレス、会合の日時、場所等を登録する(ステップS22)。なお、会合がWeb会議である場合、場所の代わりに、日程調整部213がWeb会議URLを発行して、日程調整情報223に登録する。
ただし、条件設定画面500(図5)の入力欄516に複数の参加者が入力され、ラジオボタン517にて「全員参加」が選択されていた場合、日程調整部213が、カレンダツール31が管理する、参加者全員のスケジュール情報311に、調整相手Xとの会合の予定を登録する。また、条件設定画面500の入力欄516に複数の参加者が入力され、ラジオボタン517にて「誰か1名だけ参加」が選択されていた場合、入力欄516に入力された複数の参加者のうち、確定された会合日程が空き日程である人全員のスケジュール情報311に、調整相手Xとの会合の予定を登録するようにしてもよいし、確定された会合日程が空き日程である人の中から1名を選抜して、選抜した1名のスケジュール情報311に、調整相手Xとの会合の予定を登録するようにしてもよい。なお、参加者の選抜は、日程調整部213が所定のルールに従って選抜するようにしてもよいし、調整開始者Aが選抜できるようにしてもよい。
次に、日程調整部213が、確認画面900(図11)のチェックボックス905に対する調整相手Xによる設定に応じたタイミングで、調整相手Xに会合の開催を通知するためのメール(会合がWeb会議である場合にはWeb会議URLを含む)を端末装置40Xに送信する(ステップS23)。以上で、日程調整システム10による日程調整処理が終了される。
以上に説明した日程調整処理によれば、参加者と調整相手Xとが参加する会合の日程を、ダブルブッキングを生じさせることなく、容易、且つ、効率的に設定することができる。
また、日程調整処理によれば、確定した会合の日程等を参加者が利用するカレンダツール31に登録することができる。よって、従来必要であった人手によるカレンダツール31に対するスケジュール登録の手間を省くことができる。
さらに、日程調整処理によれば、調整開始者Aが指定した会合の場所または会合の方法を調整相手Xが変更することができる。
付け加えると、調整開始者Aの立場では、候補日程の抽出から、調整相手Xへの送付までの作業を、短時間(例えば30秒程度)で行うことが可能であり、調整相手Xに候補日程を送った後は、待っているだけで、日程の決定だけでなく、会合の場所または会合の方法の調整、予定の登録まで、日程調整に関わる重要な作業を自動的に完了することができる。日程調整に関わる作業の手間を大幅に削減することが可能である。
<日程調整システム10による日程調整処理の第1の変形例>
次に、日程調整システム10による日程調整処理の第1の変形例について説明する。該第1の変形例は、日程調整装置20の記憶部22に保持された調整開始者Aに対応するユーザ情報222に、調整開始者Aが会合の調整条件初期値を予め設定できる。
図13は、会合の調整条件初期値を設定するための初期値設定画面1100の表示例を示している。初期値設定画面1100は、調整開始者Aが端末装置40Aを用いて日程調整装置20にログインし、所定の操作を行ったことに応じて端末装置40Aに表示される。
初期値設定画面1100においては、会合の種類毎に調整条件の各項目の初期値を設定することができる。会合の種類としては、訪問・外出、来客、面接、電話/Web会議、ランチ、ディナー、及びその他(汎用)が設けられている。調整条件の項目としては、曜日及び祝日毎の会合可能時間帯、会合の所要時間、前後の確保時間、会場、及び、候補日程の抽出期間が設けられている。なお、会合の種類は、調整開始者Aが追加したり、削除したりできるようにしてもよい。
なお、初期値設定画面1100においては、会合の種類によっては、初期値を設定できない項目が存在する(例えば、訪問・外出における会場等)。また、初期値を設定できる項目であっても、初期値の入力は任意であり、初期値を入力しない項目があってもよい。
初期値設定画面1100には、次のページに移動するための次ページボタン1101が設けられている。次ページボタン1101が操作された場合、端末装置40Aには、初期値設定画面1110(図14)が表示される。
図14は、初期値設定画面1110の表示例を示している。初期値設定画面1110には、Web会議用に接続するためのURLを自動で発行し、調整相手に通知するか否かを選択するためのチェックボックス1111、及び、Web会議にて使用するビデオ通話アプリケーションを選択するためのラジオボタン1112が設けられている。使用するビデオ通話アプリケーションのユーザアカウント及びパスワードは、調整開始者Aがユーザ情報222に登録すればよい。
または、初期値設定画面1110には、昼休みの時間を入力するための入力欄1113、候補日程の抽出期間の日数計算方式を選択入力するための選択入力欄1114、候補日程抽出するタイミングにおいて候補日程として抽出しない該タイミング直後の時間幅を入力するための選択入力欄1115、及び、登録ボタン1116が設けられている。登録ボタン1116が操作された場合、初期値設定画面1100,1110に入力された調整条件の初期値が、日程調整装置20の記憶部22に保持された調整開始者Aに対応するユーザ情報222に登録される。以下、図13及び図14に示されたとおりに調整条件の初期値が設定されたものとして説明を継続する。
次に、図15は、日程調整システム10による日程調整処理の第1の変形例を説明するシーケンス図である。
該第1の変形例は、図3に示された日程調整処理の端末装置40AによるステップS1とステップS2の間にステップS101を追加するとともに、日程調整装置20によるステップS11とステップS12の間にステップS111を追加したものである。なお、第1の変形例と図3の日程調整処理とで共通する動作については、同一のステップ番号を付しているので、その説明は適宜省略する。
はじめに、調整開始者Aが、端末装置40Aを用い、ネットワーク11を介して日程調整装置20にログインを行い(ステップS1)、これに応じて、日程調整装置20の認証部211が、外部システム30に対して認証処理を行う(ステップS11)。
次に、日程調整装置20の調整条件設定部212が、会合の種類を選択するための会合種類選択画面1200(図16)を端末装置40Aに表示させる(ステップS111)。
図16は、端末装置40Aに表示される会合種類選択画面1200の表示例を示している。
会合種類選択画面1200には、会合の種類を選択するためのラジオボタン1202、及び、ラジオボタン1202による選択結果を確定するためのOKボタン1203が設けられている。
図15に戻る。端末装置40Aに表示された会合種類選択画面1200において、ラジオボタン1202を用いて会合の種類を選択してOKボタン1203を操作すると(ステップS101)、次に、日程調整装置20の調整条件設定部212が、調整条件を設定するための条件設定画面500(図4、及び図5)を端末装置40Aに表示させる(ステップS12)。ただし、ここで表示される条件設定画面500の選択入力欄511〜515については、記憶部22に保持された調整開始者Aに対応するユーザ情報222に登録されている調整条件初期値が参照され、ステップS101で選択された会合の種類に対応する調整条件の初期値が反映された状態となる。また、条件設定画面500のラジオボタン503,504,505、及び入力欄506については、ステップS101で選択された会合の種類に応じて、会合場所を調整するパターン、Web会議について調整するパターン、または、それ以外のパターン(コメント入力のみ)の3パターンのいずれかに変更される。
これ以降については、図3の日程調整処理と同様であるので、その説明は省略する。
以上に説明した日程調整処理の第1の変形例によれば、図3の日程調整処理と同様の作用、効果に加えて、調整開始者Aによる会合の種類に応じた調整条件の入力の手間を大幅に軽減できる。
付け加えると、ビジネス上の日程調整は、面接、営業訪問、来客、Web会議等、シチュエーション(会合の種類)毎にある程度パターンが決まっているため、シチュエーション毎のパターンを事前登録しておけば、シチュエーションを選択しさえすれば即座に候補日程の抽出に移ることができる。
<日程調整システム10による日程調整処理の第2の変形例>
次に、図17は、日程調整システム10による日程調整処理の第2の変形例を説明するシーケンス図である。
該第2の変形例は、外部システム30のカレンダツール31によって管理されている会合の会場(会議室等)のスケジュール情報311を参照し、会場の空き日程も加味した候補日程を抽出するものである。
第2の変形例は、図3に示された日程調整処理の端末装置40AによるステップS2をステップS202に置換し、日程調整装置20によるステップS13,S14,S18,S22をステップS213,S214,S218,S222に置換したものである。なお、第2の変形例と図3の日程調整処理とで共通する動作については、同一のステップ番号を付しているので、その説明は適宜省略する。
はじめに、調整開始者Aが端末装置40Aを用いて日程調整装置20にログインを行い(ステップS1)、これに応じ、日程調整装置20の認証部211が外部システム30に対して認証処理を行い(ステップS11)、調整条件設定部212が、条件設定画面500(図4等)を端末装置40Aに表示させる(ステップS12)。
次に、調整開始者Aが、端末装置40Aに表示された条件設定画面500において、調整開始者Aが調整条件の各項目を入力、編集し、候補日程抽出ボタン520を操作する(ステップS202)。ただし、ステップS202における調整条件の各項目の入力、編集では、調整開始者Aが会合の会場(選択入力欄515)として、自社の会議室を指定したものとする。なお、複数の会議室(例えば、第1会議室〜第3会議室)が存在する場合、複数の会議室のうちの一室(例えば、第1会議室)を指定することもできるし、複数室(例えば、第1会議室と第2会議室)を指定することもできる。なお、複数の会議室の全室を指定することができてもよい。
次に、候補日程抽出ボタン520への操作に応じ、日程調整装置20の調整条件設定部212が、調整開始者Aのユーザ情報222に対応付けて新たな日程調整情報223を作成し、設定された調整条件(会場となる会議室の指定を含む)を登録する(ステップS213)。
次に、日程調整部213が、記憶部22から調整開始者Aの日程調整情報223に登録されている調整条件を読み出し、外部システム30のカレンダツール31が管理する参加者及び会議室のスケジュール情報311を参照して、現時点において参加者の空き日程であり、且つ、調整条件(会場の指定を含む)を満たす第1の候補日程を抽出する(ステップS214)。
例えば、会場として第1会議室が指定されている場合、日程調整部213が、現時点において参加者の空き日程であり、且つ、第1会議室の空き日程であり、且つ、調整条件(会場の指定を除く)を満たす第1の候補日程を抽出する。また、例えば、会場として第1会議室と第2会議室が指定されている場合、日程調整部213が、現時点において参加者の空き日程であり、且つ、第1及び第2会議室の少なくとも一方の空き日程であり、且つ、調整条件(会場の指定を除く)を満たす第1の候補日程を抽出する。
この後、ステップS15,S3,S16,S17,S4,S31が順に実行され、次に、日程調整装置20の日程調整部213が、記憶部22から調整開始者Aの日程調整情報223に登録されている調整条件と第2の候補日程を読み出し、カレンダツール31が管理する参加者及び会場のスケジュール情報311を参照して、現時点において参加者の空き日程であり、且つ、調整条件(会場の指定を含む)を満たし、且つ、第2の候補日程の範囲内である第3の候補日程を抽出する(ステップS218)。
この後、ステップS19,S32,S20,S21が実行され、次に、日程調整装置20の日程調整部213が、上述したステップS22と同様に、カレンダツール31が管理する参加者のスケジュール情報311に、調整相手Xとの会合の予定を登録する。また、カレンダツール31が管理する、会場のスケジュール情報311に、参加者と調整相手Xとの会合の予定を登録する。ただし、例えば、会場として会議室の全室(第1〜第3会議室)が指定されており、確定した会合日程において、第1会議室及び第2会議室の2室が空いている場合、第1会議室または第2会議室の1室を選択して、選択した会議室のスケジュール情報311に、調整相手Xとの会合の予定を登録するようにする。なお、会議室の選択は、日程調整部213が所定のルールに従って選択するようにしてもよいし、調整開始者Aが選択できるようにしてもよい。またさらに、日程調整部213が、記憶部22が保持する調整開始者Aに対応する日程調整情報223に、調整相手Xのメールアドレス、会合の日時、会場、場所等を登録する(ステップS222)。この後、ステップS23が実行されて、日程調整システム10による日程調整処理の第2の変形例が終了される。
以上に説明した日程調整処理の第2の変形例によれば、図3の日程調整処理と同様の作用、効果に加えて、会合の会場の空き日程も考慮した日程調整が可能となる。
本実施形態の日程調整装置は、典型的には例えばWebページとして各種の操作画面を用意し、端末装置のWebブラウザに表示させることができる。しかし、この態様に限られない。例えば、端末装置に各種の操作画面を備える専用アプリケーションをインストールしてもよい。この場合、日程調整装置は、各種の操作画面に表示させる一部内容(候補日程などのデータ)を端末装置に送信するだけで、端末装置の専用アプリケーションに各種操作画面を表示させることができる。すなわち、本発明の日程調整装置は、端末装置に画面を表示させることができる様々な態様も含むことができる。
本発明は、上述した実施形態や変形例に限定されるものではなく、さらに様々な変形が可能である。例えば、上述した実施形態や変形例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある変形例の一部を他の変形例に置き換えたり、変形例を組み合わせたりすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。