630-60 | 在庫管理
本シナリオでは、予約管理業務における「予約数の管理」をkrewDataで行う方法をご紹介します。
下図のようなパターンを想定した予約数の管理を行います。
①予約が可能か確認する処理
②確定した予約数を反映して予約できる残数を管理する
③キャンセル時にキャンセル数を予約可能分として再反映する処理
各処理に対応するためにkrewDataでは、3つそれぞれを管理するためのフローを作成しています。
【ワンポイント】krewDataのプランと前提となる考え方
- 利用プラン:krewDataリアルタイム実行プラン
今回はkrewDataのリアルタイム実行プランを使用したシナリオです。
スケジュール実行プランでは設定した時刻に処理を実行します。今回のように情報のリアルタイム性が業務にとって大切である場合には、リアルタイム実行プランを選択するのがベターでしょう。
(参考情報)プラン比較表 - 実行方法:APIによる実行
krewDataのリアルタイム実行プランは、①kintoneのWebhookによる実行 ②APIによる実行 の2つから実行方法を選ぶことができます。今回のフローでは任意のタイミングでフローを実行したいため、API実行を使用します。
入力アプリのフィールド構成
予約管理アプリ
- 顧客から受けた予約を登録・管理するアプリ
- このアプリはkrewDataのフローを実行するきっかけを作るアプリになります。ピンクの枠で囲われているボタンをクリックしたタイミングでkrewDataのフローを実行します。
ワンポイント
ジョイゾー様から提供されているkrewData手動実行プラグインを使用すると、画面上にkrewDataを実行するためのボタンをノーコードで作成することができます。上記のアプリもkrewData手動実行プラグインを使用してボタンを作成しています。
1.予約可否を確認するフロー
予約の可否を確認するためのフローです。可能である場合には、「予約可否」フィールドに可能/不可 など値が更新されます。
1.入力データを設定する
予約アプリ
- 入力アプリコマンドを追加し、アプリの選択で予約アプリを選択する
- 次のようにフィルタ設定する
レコード番号 =(等しい) %レコード番号% - フィールドの選択で次のフィールドを選択する
・予約番号 ・予約日 ・予約プラン ・予約希望数 ・予約ステータス ・予約可否
予約可能数管理アプリ
- 入力アプリコマンドを追加し、アプリの選択で予約可能数管理アプリを選択する
- フィールドの選択で次のフィールドを選択する
- ・日付 ・予約プラン ・予約可能数 ・予約確定数 ・予約残数
2.2つのアプリを結合する
- アプリ結合コマンドを追加する
- 「予約アプリ」と「予約可能数管理アプリ」を内部結合する
- 「元になるアプリの条件フィールド」と「結合するアプリの条件フィールド」を次のように設定する
・予約日 日付
・予約プラン 予約プラン
予約可能可否を確認する
- データ編集コマンドを追加する
- 「予約数差異」という結果を保存する新しいフィールドを作成する
- 編集方法は「数式」を選択し、次のように数式を設定する
予約可能数-予約希望数
予約数差異フィールドのフィールドタイプを数値に変更する
- 変更するフィールド:予約数差異
- 新しいフィールド名:そのまま
- 新しいフィールドタイプ:数値
3.予約管理アプリに更新するステータス情報を調整する
予約ステータスを設定する
- データ編集コマンドを追加する
- 「予約可否」フィールドのデータを置換する
- 編集方法は「数式」を選択し、次のように数式を設定する
IF(予約数差異>=0,"可能","不可")
予約可能なレコードに対する処理
予約可能レコードを絞り込む
- フィルタコマンドを配置する
- 数式を使い次のようにフィルタする
予約可否="可能"
予約ステータスを「可能」に変更する
- データ編集コマンドを追加する
- 「予約ステータス」フィールドのデータを置換する
- 編集方法は「値を設定」を選択し、「予約可能(予約前)」をドロップダウンリストから選択する
予約できないレコードに対する処理
予約できないレコードを絞り込む
- フィルタコマンドを配置する
- 数式を使い次のようにフィルタする
予約可否="不可"
予約ステータスを「不可」に変更する
- データ編集コマンドを追加する
- 「予約ステータス」フィールドのデータを置換する
- 編集方法は「値を設定」を選択し、「予約不可(予約前)」をドロップダウンリストから選択する
4.各ステータスのレコードを結合する
- レコード結合コマンドを配置する
5.出力する
出力アプリの設定
- 出力アプリコマンドを追加して、アプリの選択で「予約管理」アプリを選択する
- 出力方式に「更新」を選択し、「更新または追加」にチェックする
- データ編集フローのフィールドで、「予約番号」「予約ステータス」「予約可否」を選択する
- 更新キーとして、「予約番号」にチェックする
2.予約を確定するフロー
1.入力データを設定する
予約アプリ
- 入力アプリコマンドを追加し、アプリの選択で予約アプリを選択する
- 次のようにフィルタ設定する
レコード番号 =(等しい) %レコード番号% - フィールドの選択で次のフィールドを選択する
・予約番号 ・予約日 ・予約プラン ・予約希望数 ・予約ステータス ・予約可否
予約可能数管理アプリ
- 入力アプリコマンドを追加し、アプリの選択で予約可能数管理アプリを選択する
- フィールドの選択で次のフィールドを選択する
- ・日付 ・予約プラン ・予約可能数 ・予約確定数 ・予約残数
2.2つのアプリを結合する
- アプリ結合コマンドを追加する
- 「予約アプリ」と「予約可能数管理アプリ」を内部結合する
- 「元になるアプリの条件フィールド」と「結合するアプリの条件フィールド」を次のように設定する
・予約日 日付
・予約プラン 予約プラン
予約可能可否を確認する
- データ編集コマンドを追加する
- 「予約数差異」という結果を保存する新しいフィールドを作成する
- 編集方法は「数式」を選択し、次のように数式を設定する
予約可能数-予約希望数
予約数差異フィールドのフィールドタイプを数値に変更する
- 変更するフィールド:予約数差異
- 新しいフィールド名:そのまま
- 新しいフィールドタイプ:数値
3.予約管理アプリに更新するステータス情報を調整する
予約ステータスを設定する
- データ編集コマンドを追加する
- 「予約可否」フィールドのデータを置換する
- 編集方法は「数式」を選択し、次のように数式を設定する
IF(予約数差異>=0,"可能","不可")
予約可能レコードを処理する
予約可能レコードを絞り込む
- フィルタコマンドを配置する
- 数式を使い次のようにフィルタする
予約可否="可能"
予約ステータスを「可能」に変更する
- データ編集コマンドを追加する
- 「予約ステータス」フィールドのデータを置換する
- 編集方法は「値を設定」を選択し、「予約可能(予約前)」をドロップダウンリストから選択する
4.予約アプリに出力する
出力アプリの設定
- 出力アプリコマンドを追加して、アプリの選択で「予約」アプリを選択する
- 出力方式に「更新」を選択し、「更新または追加」にチェックする
- データ編集フローのフィールドで、「予約番号」「予約ステータス」「予約可否」を選択する
- 更新キーとして、「予約番号」にチェックする
5.予約可能数管理アプリに数字を反映する
予約確定数を計算する
- データ編集コマンドを追加する
- 「予約確定数」フィールドのデータを置換する
- 編集方法は「フィールドをコピー」を選択し、「予約希望数」をドロップダウンリストから選択する
予約残数を計算する
- データ編集コマンドを追加する
- 「予約残数」フィールドのデータを置換する
- 編集方法は「数式」を選択し、次のように数式を設定する
予約可能数-予約確定数
予約可能数管理アプリにデータを反映する
- 出力アプリコマンドを追加して、アプリの選択で「予約」アプリを選択する
- 出力方式に「更新」を選択し、「更新または追加」にチェックする
- データ編集フローのフィールドで、対になるフィールドを選択する
- 更新キーとして、「日付」「予約プラン」にチェックする
3.予約をキャンセルするフロー
予約のキャンセルがあった時に確定していた予約数を予約可能数管理アプリに戻すフローです。
1.入力データを設定する
予約アプリ
- 入力アプリコマンドを追加し、アプリの選択で予約アプリを選択する
- 次のようにフィルタ設定する
レコード番号 =(等しい) %レコード番号% - フィールドの選択で次のフィールドを選択する
・予約番号 ・予約日 ・予約プラン ・予約希望数 ・予約ステータス ・予約可否
予約可能数管理アプリ
- 入力アプリコマンドを追加し、アプリの選択で予約可能数管理アプリを選択する
- フィールドの選択で次のフィールドを選択する
- ・日付 ・予約プラン ・予約可能数 ・予約確定数 ・予約残数
2.2つのアプリを結合する
- アプリ結合コマンドを追加する
- 「予約アプリ」と「予約可能数管理アプリ」を内部結合する
- 「元になるアプリの条件フィールド」と「結合するアプリの条件フィールド」を次のように設定する
・予約日 日付
・予約プラン 予約プラン
3.キャンセルに伴う数字の変更を反映する
ステータスを「キャンセル」に変更する
- データ編集コマンドを追加する
- 「予約ステータス」フィールドの値を置換する
- 編集方法は「値を設定」を選択し、ドロップダウンリストから「キャンセル」を選択する
予約確定数を計算する
- データ編集コマンドを追加する
- 「予約確定数」フィールドの値を置換する
- 編集方法は「数式」を選択し、次のように数式を設定する
IF(予約確定数>0,予約確定数-予約希望数,予約確定数)
予約残数を計算する
- データ編集コマンドを追加する
- 「予約可否」フィールドのデータを置換する
- 編集方法は「数式」を選択し、次のように数式を設定する
予約残数+予約希望数
4.出力する
出力アプリの設定(予約可能数管理アプリ)
- 出力アプリコマンドを追加して、アプリの選択で「予約可能数管理」アプリを選択する
- 出力方式に「更新」を選択し、「更新または追加」にチェックする
- データ編集フローのフィールドで、対となるを選択する
- 更新キーとして、「日付」「予約プラン」にチェックする
出力結果
「予約可能数」「予約確定数」「予約残数」の情報が更新された。
あわせて検討したい
予約の確認時や確定時などにボタンをクリックしてkrewDataを実行する場面がありました。
時々起こることとして、操作する方の誤った操作によって意図しないデータになることがあります。たとえば、「予約確定」フェーズなのに「予約キャンセル」ボタンをクリックしてしまうような操作ミスです。
このようなヒューマンエラーを防ぐために、ジョイゾー社の条件付き入力制御プラグインを併用すると有効です。たとえば、予約確定時(ステータスフィールドの値が「予約確定」の時)なら「予約確定」ボタンしか表示しないように制御できます。
設定方法
- 予約アプリに条件付き入力制御プラグインを追加する
- 「予約可否を確認する」ボタンの表示条件を次のように設定する
・設定タイプ:krewData手動実行ボタン設定
・krewData手動実行ボタン:予約可否を確認する
・条件設定:
フィールド=予約ステータス
条件=次のいずれかを含む
値=予約可能、予約不可、予約確定、キャンセル - 「予約確定する」ボタンの表示条件を次のように設定する
・設定タイプ:krewData手動実行ボタン設定
・krewData手動実行ボタン:予約可否を確認する
・条件設定:
フィールド=予約ステータス
条件=次のいずれかを含む
値=予約確認前、予約可能(予約前)、予約不可(予約前)、キャンセル - 「予約確定する」ボタンの表示条件を次のように設定する
・設定タイプ:krewData手動実行ボタン設定
・krewData手動実行ボタン:予約可否を確認する
・条件設定:
フィールド=予約ステータス
条件=次のいずれかを含む
値=予約確認前、予約可能(予約前)、予約不可(予約前)、キャンセル
ジョイゾーさまのブログでも詳細を確認できます。
サンプルファイルのダウンロードはこちら
https://download.krew.mescius.jp/study/krewdata-drill/pratical/dt630-60booking-realtime.zip