予約システムをキントーンで構築してみた(定時集計)
kViewerを利用してkintoneの情報を発信することができます。
例えば予約の空き情報を公開したいと考えたとき、できるだけ楽な情報公開方法をしたい。
- ネットから予約を受付⇒フォームブリッジでkintoneにレコード登録
- 登録された情報をCustomineで集計
- 集計した情報をkViewerで公開
今回はリアルタイムではなく、レコード更新時に公開されている情報が更新される仕組みです。
リアルタイムに近い情報更新も可能ですが、色々とシステムに負担かかりそうなので・・・
![](https://kinbozu.co.jp/media/wp-content/uploads/sites/5/2021/12/kintone-ycs-300x169.png)
空き情報マスターkintoneアプリ
後程設定するフォームブリッジで入力された情報を登録するアプリ
今回は予約を受けるだけのアプリですので
- 希望日(日付)
- 氏名(文字列1行)
- 備考(文字列複数行)
3つをフォームに配置しただけのシンプルなアプリです。
このアプリをフォームブリッジと連携させて、kintoneユーザーではない一般の方でもレコードを疑似的に登録できるようにしています。
![kintoneアプリフォームイメージ](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku1.png)
![フォームブリッジフォームイメージ](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku2.png)
予約集計kintoneアプリ
フォームブリッジから登録されたレコードを空き情報マスターアプリではなく、予約集計アプリと言う別アプリに情報を飛ばして集計させます。
作ってみて結構細かくなったので、1つずつ説明していきます。
kintoneアプリフォーム
- A:日付⇒当日から1週間後までの日付をCustomineで自動計算
- B:計算式⇒定員数からDの数値を引く計算
- C:関連レコード一覧⇒空き情報マスターアプリのレコード件数をCustomineで個別に集計
参考ブログ 複数レコードをcustomineで別アプリにコピー - D:数値⇒Cで集計したレコード数をCustomineで入力
主要なフィールドはこんな感じで配置しています。
![フォーム構成イメージ](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku31.png)
関連コードとは、関連レコード一覧フィールドの設定で、表示するレコードの条件として利用する為に配置しています。
関連レコード一覧フィールド設定
今回は、当日から6日後までの1週間分の空き情報を公開するという設定で、7つの関連レコード一覧フィールドを配置しました。
さらに絞り込む条件を
- 希望日=等しい 今日
- 希望日=等しい 今日から1日後
- 希望日=等しい 今日から2日後
みたいな感じで7つ配置することで、空き情報マスターアプリに登録されているレコードを希望日ごとに表示させる。表示条件に合うレコード数をCustomineで集計する。
![関連レコード設定イメージ](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku4.png)
Customine設定イメージ
関連レコード一覧のレコード集計とカウント
ざっくりとしたイメージ図にしてみました。
- 空き情報マスターアプリを参照するアプリに設定
- 関連レコード一覧フィールドの条件に合うレコード数をCustomineで集計
- 定員数ー集計した数値=予約可能数として計算
![カスタマインでしたいこと](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku10-1024x576.png)
特定の日付を取得or計算
今日の日付、今日から1日後の日付・・・を計算してフィールドに入力できるよう設定
![カスタマインで特定の日付取得](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku8-1024x272.png)
kViewerの設定
予約集計アプリのⒶⒷをkViewerを利用して情報を一般公開させます。
![kViewer設定イメージ](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku11.png)
![kViewer閲覧イメージ](https://kinbozu.com/wp-content/uploads/2019/07/yoyaku12.png)
手作業を一部自動化するだけで負担軽減
こういったkintoneの使い方なら、Webフォームからの受付以外でも電話予約が入るとkintoneから通常レコード登録をすれば良いでしょう。
登録した情報から予約数を集計することはkintoneの集計でも簡単にできます。では、集計した数字を定数から引いて、予約可能数をだして・・・ってなると人の手が必要になります。
今回の方法でも全自動化ではありません
(Customineの条件次第ではリアルタイムに近い数字にできるかもしれませんが、今回はそこまでリアルタイムな空き情報を追及していませんので 💦)
このシステムの為に
- kintone
- フォームブリッジ
- kviewer
- Customine
を導入してやるだけなら費用が勿体ないですが、kintoneには色々とできることがあります(ブログ参考ください 笑)
その中の1つとしてこんな使い方もあるんじゃないでしょうかね?