Force.com SitesはForce.comプラットフォーム上でネイティブに動作するパブリックWebサイトやアプリケーションを作成できる仕組みです。
Salesforceのデータベースに登録された情報を利用できるWebサイトを構築できるので、開発者以外のスタッフでもメンテナンスできるサイトを構築できます。ホームページや製品紹介のサイト、ログインページを用意してCommunity Cloudと連携させるといった使い方がよくされていると思います。
少し前にこのForce.com Sitesで構築された予約ページを引き継ぎました。その予約ページの機能の中に仮予約の仕組みが用意されていたのですが、実際に運用を回してみていろいろわかったことがあるので紹介します。
予約ページの利用の流れ
- 予約ページにアクセス
- 日時を選択
- 予約に必要な情報を入力 (名前や連絡先など)
- 次へボタンで確認ページへ移動
- 入力した内容に誤りがないかを確認
- 仮予約ボタンをクリック
(予約データが作成される。ステータス→仮予約) - 仮予約完了画面に移動。本予約までの流れを確認
- 顧客が仮予約完了通知メールを受信
- 通知メールに記載されたURLをクリック
(24時間クリックしないとキャンセル扱い) - 本予約完了ページへ移動
- 予約確定 (ステータス→予約確定・その他必要な処理が実行される)
ざっくりこんな感じです。仮予約の仕組みがあることで誤ったメールアドレスを入力したり存在しない連絡先を入力した場合に、予約確定の作業を進められないメリットがあります。また24時間すぎると本予約のリンクが無効になり放置された予約作業を無効にすることができます。
実際に運用してみて
仮予約完了通知メールから本予約を行う流れですが下記のパターンが発生しました。
- 通知メールに記載された本予約のリンククリックを行わない
(メールや必要な操作に気づかない) - PCメールブロックなどにより通知メールが届かない
本来、社内スタッフは予約確定した情報のみ気にすればいいのですが、上記のパターンにより利用者は予約したつもりでもシステム上は予約されていない状況が発生しました。
その結果、自動化されているはずの予約手続きを社内スタッフが状況を確認して手動で対応しなくてはならない問題が発生しました。また本予約完了ページで実行されるはずの処理が実行されないので、その部分の対応も必要になりスタッフへの負担が増加することになりました。
現在
先日予約ページの再開発を行いこの仮予約の仕組みを除外しました。これにより利用者は今までよりも1つ手順が少ない状態で予約手続きを進めることができます。また必要事項を入力して予約ボタンを押せばその場で予約完了ページが表示されるため、メールが届かない場合でも予約が確定したことを確認できるようになりました。
システム上も必ず予約確定のステータスで予約情報が登録されるため、不要な手作業が発生することは無くなりました。開発者側としても予約のオペレーションがシンプルになったことでコードの量が少なくなりメンテナンス性が向上するメリットがありました。
まとめ
仮予約の仕組みを実際に運用してみてスタッフへの負荷が掛かるオペレーションになることが確認できました。また仮予約という複雑な仕組みがあることでメンテナンスしずらいシステムが出来上がることが確認できました。
もし予約ページの開発を依頼されて、仮予約の仕組みが欲しいという話になったときは上記のようなリスクを伝えてできるだけシンプルなオペレーションになるように話を進めると利用者に負担の掛からないシステムを開発できると思います。