第2話 作りたい予約システムの内容を決める
前回は、美容院の店主との会話の中から予約システムを作りたいと思った経緯を記しました。
さぁ、早速作りたい予約システムの内容決定を行います。
<予約する人>
■LINEから「予約」と打つと、予約モードに入れる
■予約モードは自動対話式で行う
・メニュー
・来店希望日
・希望時間帯
・希望時間帯における予約枠提案
■次回の予約確認をできるようにする
■予約変更は複雑となるので、一度予約を削除してから、再度予約することとする
<店主>
■お客さんが見れない「管理画面」にて予約の確認ができる
■管理画面は通常のインターネットページ
■管理画面は、「顧客管理画面」、「予約管理画面」とする
■LINEを使えないお客さん(電話予約)も想定し、店主が予約を入力できるようにする
■店主はすでに入っている予約を変更できるようにする
■店主はすでに入っている予約を削除できるようにする
<システム全体像>
システムの全体像は以下
・LINE Messaging API
・Heroku
・PostgreSQL(Herokuサービス)
LINEを使ったBOT構築はMessaging APIが必須となります。また、インフラ構築は今回の趣旨と外れますので、簡単にプログラム公開できるHerokuを使うこととします。データベースはHeroku内である範囲までは無料で使えるPostgreSQLを使います。
<サービス利用料金>
今回、①Messaging API(LINE公式アカウント)、②Heroku、③PostgreSQLの3つのサービスを使います。サービスである以上、無償範囲と有償範囲が存在します。今回は、極力無償の範囲で作成できるよう、予め各サービスの課金体系について押さえておきます。
<Messaging API(LINE公式アカウント)>
LINE公式アカウントの課金体系は以下の通りです。
フリーの次は5,000円・・・たけぇ!!無料メッセージ通数1,000通て・・・1人のお客さんがBOTとのやり取りでのメッセージ数を多めに10通と見積もれば、1ヶ月に100予約分。1日の予約数を10とすれば、10日分の予約がフリープランで可能。。。1ヶ月もたんやん(泣)。しかしながら、このメッセージの種類にも2種類あり、フリープランの範囲で収まる技(大げさw)があるのです!!それはまた後日。
<Heroku>
Heroku料金体系は以下の通りです。
Freeプランですと、1アカウントあたり550時間/月の稼働時間は無料のようです。1ヶ月って何時間だっけな。24h×31日=744時間・・・無料枠超えとるやん!!しかし、さすがアメリカの企業。賢い!「Freeプラン使ってる奴は趣味程度やろ、使ってない時間はスリープかけたろ!」ってことで、30分サーバーへ何のアクションもないとスリープしちゃうのです。このスリープ時間は稼働時間にカウントされません。ただし、大きな問題も。スリープ中にLINEメッセージ送ると、スリープからの立ち上がりでレスポンスに1,2分かかっちゃうという・・・明らかにせっかちな人は使うのをやめちゃう仕様となってしまうわけです。
ホビープランでも$7/月(1000円くらい)とLINEよりは良心的ですが、今回はできるだけ無料でやりたいので、後々このスリープ問題を解決する裏技もご紹介したいと思います。
<PostgreSQL>
Herokuで使えるPostgreSQLの料金体系は一覧表示が難しいので、無料枠を簡潔に記すと以下です。
■無料枠では、最大行数は10,000
■ストレージ:1GB
ストレージはともかく、10,000行って・・1つの予約が1行とすると1日に10予約入るとして、1000日分!!まぁ3,4年分くらいはもつかと目算がたつ。とりあえずは無料枠で大丈夫そうだけど、この辺のメンテも後々考えなきゃならんな〜。
初めからこういうコスト設計をしておくことは重要ですね。
このサービスできたとして、それをお客さまがいくらで買ってくれそうか?を考え、そして、このサービスにかかる固定費がいくらかはめちゃめちゃ重要なことと思う次第です。
今回はざっくり全体設計の話でしたが、次回からはLINEBOTの導入に入っていきますよー!!最後までお読みいただき、ありがとうございました!
MENTA でLINEBOT開発サポートをしております。お気軽にご相談ください。