ConnectWiz + Apple カレンダー
稼働中の連携Apple カレンダー:予約は外へ、予定ありの時間は内へ
ConnectWiz で取った予約は Apple カレンダー に現れ、キャンセルすれば消えます。そして Apple カレンダー にすでにある予定は空き状況から差し引かれるので、カレンダーに木曜15:00の歯医者が入っているときに AI がその枠を提示することはありません。
カレンダー
できること、正確に
Push、後始末つき
新しい予約は Apple カレンダー に予定を作り、キャンセルすればそれを削除します。担当者のカレンダーが予約台帳より1日遅れることはありません。
予定ありの時間も差し引く
外部の予定は、どの入口 — パネル、AI、フロー、ウィジェット — が枠を提示するよりも前に、空き状況から差し引かれます。私生活との二重予約も防がれます。
同期の向きは設定項目
接続した取得元ごとに選べます。読み取る、書き込む、両方、あるいは予定ありの時間だけ。だから院内の共有カレンダーと個人のカレンダーが、けんかせずに別の役割を果たせます。
技術的な仕組み
二重予約を生まない同期の仕様
アプリ用パスワードを使った CalDAV
Apple が third-party 向けに用意している入口は CalDAV です。Apple ID でアプリ用パスワードを発行し(本来のパスワードが Apple の外に出ることはありません)、開かれた標準規格の上で iCloud のカレンダーに対して予定を読み書きします。
権限は1つのドロップダウンではなく3つの軸
取得元ごとに、予約を取り込むかどうか(取り込まない、一度だけ取り込む、継続的に取り込む)、予約を書き出すかどうか、そしてその予定ありの時間で空き状況をふさぐかどうかを設定します。共有カレンダーと個人のカレンダーは、まったく違う役割を果たせます。
必要な場所では安全側に倒す
空き状況をふさぐだけのカレンダーは、読み取りエラー時に安全側へ倒します。予定ありの時間が不明なときは、衝突を許すのではなく予約をふさぎます。台帳に供給する取得元は、逆に止めない側へ倒します。この線引きを誤ることが、カレンダー同期で最も高くつく間違いです。だからこれは気分ではなく、ルールです。
自動で回復する接続
エラーになった接続には、理由とともに印が付きます。次に読み取りが成功すれば、その印は自動で消えます。終わった障害のために、人がチェックを外しに来る必要はありません。
イベントのペイロードは最小限
カレンダーに入るのは、予約種別の名称、来訪者の氏名とメモ、そして時刻だけです。出席者への招待も、会議リンクも、リマインダーの上書きもありません。通知をどう出すかは、カレンダーアプリ側に委ねたままです。
競合時の扱いは明記済み
双方向の編集が実装される時点で、取得元はすでに競合時の方針を持っています。人の判断を待つ(既定。リマインダーも一時停止します)、こちらを優先、相手を優先。負けたほうのバージョンも保存し、表示します。必要になる前に宣言しておくのは、事故の最中に競合方針を後付けすることこそデータが消える経路だからです。
セットアップ
接続のしくみ
Apple カレンダー を接続する
Apple ID で発行したアプリ用パスワードを使い、CalDAV で接続します。
役割の割り当て
読み取り、書き込み、両方、予定ありの時間だけ。カレンダーごとに選べます。
どこからでも予約
パネル、AI、フロー、ウェブサイトのウィジェット。どの入口も、同じように差し引かれた空き状況を見ます。
セキュリティと保証
退屈な保証
スコープは最小限
この接続が求めるのはカレンダーへのアクセスだけです。メールも、連絡先も、ドライブも求めません。トークンは保存時に暗号化され、自動で更新されます。
イベントは自社のもののまま
予定ありの時間の読み取りが取るのは時刻であって、中身ではありません。空き状況の計算に必要なのは、ふさがっているという事実だけで、理由ではありません。
解除はきれいに
接続を削除すると、同期はただちに止まります。すでにカレンダーにある複製済みの予定は自社のもので、残すか消すかは自由です。
包み隠さない但し書き
線引きを明示
台帳は当社側に残る
どのカレンダーを接続しても、予約の台帳は ConnectWiz 自身のテーブルのままです。カレンダーは鏡であり取得元であって、原本ではありません。これは設計上の立場であり、明示しておきます。
リマインダーは当社側、カレンダー側ではない
予約のリマインダーは、カレンダーの通知ではなく ConnectWiz から送ります。メールと、設定していれば SMS です。だからカレンダーの招待を開いたことのない来訪者にも届きます。リマインダーの仕組みが2つ動くほうが、1つより悪いからです。