実際に使ってみる

予定調整アプリ YOTEI
この記事が良かったら
「チップをリクエスト」で著者にチップの受け取り設定をお願いできます
「予定の確定」機能を新しくリリースしました!
実際に使ってみる

予定調整アプリ YOTEI
この記事が良かったら
「チップをリクエスト」で著者にチップの受け取り設定をお願いできます
個人で開発・運営している日程調整アプリ「YOTEI」に、新しく「予定の確定」機能をリリースしました。
日程調整サービスを運用する中で見えてきた課題と、今回の実装における工夫点についてまとめます。
これまでYOTEIは「候補日を提示し、参加者から回答(◯△×)を集める」ところまでを担っていました。しかし、実際のユーザーの行動を観察すると、以下のフローが発生していました。
アプリ内で「決定」という状態を持てなかったため、調整の最後のクロージングを外部のチャットツールに頼らざるを得ない状態でした。そこで、集計から最終案内までをアプリ内で完結させるべく「予定確定機能」を実装しました。
イベントページ上で、主催者が最終的な候補を1つ選び、ステータスを「確定済み」に変更できるようにしました。
単に「確定した候補」のIDを持たせるだけでなく、イベント全体のステータス管理を見直しました。DBスキーマ上でも確定状態を持たせることで、API側で「確定済みの場合は回答追加のPOSTリクエストを弾く」といったガードレールを設けて、誤編集によるデータの不整合を防いでいます。
「一度確定したけど、やっぱり参加できない人が出たので再調整したい」というケースに対応するため、確定状態の取り消し(未確定への差し戻し)機能も実装しました。状態遷移を一方通行にしないことで、実運用上の柔軟性を担保しています。
YOTEIはログインなしのゲストでもイベントを作成できます。そのため、確定処理の認可(Authorization)はアカウントベースだけでなく、作成時に発行される編集キーをベースにした判定も組み込み、ログインユーザー・ゲストユーザー問わずセキュアに確定処理を実行できるようにしました。
現時点ではページを開き直して結果を確認する必要がありますが、今後は「予定が確定した瞬間に、回答済みの参加者へ自動で通知を飛ばす機能」や「確定時に主催者が案内メッセージを添えられる機能」などを検討しています。
日程調整を「回答を集めるところ」で終わらせず、「決まった予定をみんなで確認するところ」までシームレスに繋げるように、引き続き改善を進めていきます。