gusuku Everysite職人への道 〜「kintone駆け込み相談室」予約フォーム編〜

公開日:

注意

本記事は情報提供を目的としており、本記事の内容は無保証、サポートの対象外です。
サポート窓口、問合せ窓口にご質問をいただいても対応いたしかねますのでご了承ください。

こんにちは、システム開発グループの浅賀です。

Cybozu Days 2025(2025/10/27〜28@幕張メッセ) では、アールスリーブースにお越しいただきありがとうございました!
たくさんの方にお立ち寄りいただき、感謝の気持ちでいっぱいです。

★ kintone駆け込み相談室とは?

今回、システム開発グループでは 「kintone駆け込み相談室」 としてブースを出展しました。
kintoneに関するお悩みをその場で相談できるコーナーとして、kintone導入前の検討中のお悩みから、導入後の定着のご相談まで、幅広くお話を伺いました。

実はこの「kintone駆け込み相談室」、Cybozu Daysの期間中だけでなく、毎日開催しているんです!(もちろん無料!)
アールスリーに開発を依頼する予定が無くても大丈夫。ぜひお気軽にご予約ください。

★ gusuku Everysiteで実現した事前予約フォーム

Cybozu Days当日は混雑が予想されたため、ブースでお待たせしないよう事前に予約できるフォームをご用意しました。(ありがたい事に予想通りの混在状況でした😅)

この仕組みを実現するために利用したのが2025/10/23に正式リリースされたばかりの gusuku Everysite です!(もちろんkintoneも利用)

kintoneと連携したフォームサービスはいくつかありますが、gusuku Everysiteだからこそ実現できた事がありました。

エブリサイトで作った予約フォーム(クリックで拡大)

今回のシステム構成は以下のようにしました。
予約可能な時間のレコードをあらかじめ申込管理アプリに作っておき、gusuku Everysiteからレコードを予約済みに更新(①)する事で予約枠を埋めていく仕組みです。(②は後述)

申込管理アプリ(クリックで拡大)

【ポイント1】予約日時を選ぶドロップダウン

予約日時はドロップダウンで選択する方法とし、ドロップダウンの選択肢は申込管理アプリに登録してある予約枠のレコードを使います。
そのレコードを動的に読み込み、ドロップダウンの選択肢として使いました。

予約日時を選ぶドロップダウン(クリックすると拡大)

ドロップダウンの選択肢を作る処理で工夫したポイントが3つあります。

  1. 予約済みの枠をドロップダウンに表示しない
    • 既に予約されている時間帯は表示する必要がありませんので、予約が空いてるレコードだけをkintoneから取得するようにしています。(「gusuku Everysiteの設定画面」アクション9で「予約 not in (“済”)」と指定)
  2. Cybozu Days後の予約枠はCybozu Days当日になるまで表示しない
    • Cybozu Daysのブースではお話しできる時間が限られていますので、その場でCybozu Days後の日時を予約できるようにする事を考えました。
    • 事前予約の段階で予約されてしまう事を防ぐため、申込管理アプリに「予約開始日」フィールドを持たせ、ドロップダウンに表示される日をコントロールできるようにしました。(「gusuku Everysiteの設定画面」アクション9で「予約開始日 <= NOW()」と指定)
  3. ドロップダウンに補足情報を追記
    • 予約時間を選んでいただきやすくなるよう、その枠がどういう時間帯なのかを補足情報としてドロップダウン内に表示する事を考えました。
    • 例えば、「予約日時を選ぶドロップダウン」の画像にもあるようにドロップダウンに「基調講演に参加しない方」や「セッション中の空いてる時間に」といった情報です。
    • 申込管理アプリの「予約枠ひとこと」フィールドに入力した情報をドロップダウンに動的に表示しています。(「gusuku Everysiteの設定画面」アクション12で「予約枠ひとこと」を指定)

gusuku Everysiteの設定画面(クリックで拡大)

このような事がノーコードで実現できてしまうのは gusuku Everysite ならではですね。

【ポイント2】二重予約を防ぐ仕組み

予約を実行するタイミング(gusuku Everysiteがkintoneのレコードを更新するタイミング)で、予約しようとした枠が既に予約済みだった場合はエラーになるようにしました。これにより、二重予約を防ぎ、ブース運営の混乱を未然に防ぐことができました。

【ポイント3】Job Runnerを使った予約完了メールの自動送信

予約が完了した際に登録者に対して予約完了メールを送りたかったのですが、現状の gusuku Everysite にはメールを送る機能が無いため、gusuku Customine(Job Runner) を併用しました。

初めに考えたのは、gusuku Everysiteがkintoneにレコードを登録した際のWebhookをトリガーに、Job Runnerを実行し、SendGridでメールを送る仕組みです。

ただ、レコード追加時はWebhookが実行されますが、今回のようにレコード更新の場合はWebhookが実行されません。(gusuku Everysiteとkintoneの仕様)

そこで、Webhookを実行させるためのアプリを用意し、gusuku Everysiteからレコード追加することでWebhookを実行させる事にしました。

この工夫により、予約登録→メール送信までをスムーズに自動化する事ができました。

Webhookを起動させるためのアプリ(クリックで拡大)

gusuku Everysiteの設定画面(クリックで拡大)

★ まとめ

Cybozu Daysでは、たくさんの方に「kintone駆け込み相談室」にお立ち寄りいただき、本当にありがとうございました。
gusuku Everysiteとkintoneを組み合わせることで、現場運営に即した柔軟な仕組みをスピーディに構築できたのも大きな収穫です。

gusuku Everysiteはお試しができるサービスですので、ぜひ触っていただければと思います。もし自分達では実現が難しい場合はアールスリーが提供する業務改善・システム開発を行うサービス「キミノマホロ for kintone」でご支援が可能です。

kintoneに関するお困りごとがあればいつでも「駆け込み相談室」へどうぞ!

投稿者プロフィール

アバター画像
あさが
kintoneを活用したシステム開発(だけ)をやってます。kintone認定資格5冠。