MulmoTerminal の共有アプリで面談予約フォームを作る:二重予約を防ぐ仕組み

MulmoTerminal の共有アプリで面談予約フォームを作る:二重予約を防ぐ仕組み

AI に予約フォームを作らせると、二重予約が起きます。本人は正しく書いたつもりでも、動かすと起きます。原因は書き方ではなく、「空いているかを調べてから登録する」という作り方そのものにあります。

MulmoTerminal の共有アプリで予約フォームを作ると、この問題は起きません。ページ側では枠の空きを調べていないからです。一つの枠に一人だけ入れるというのは、その下のプラットフォームが保証します。

水曜の十四時に二人現れる

水曜の十四時から十五時。面談の枠が一つ空いています。

二人が、それぞれ別の場所から、ほぼ同時に申し込みました。二人とも「予約できました」と表示されます。

気づくのは、水曜の十四時に二人が現れたときです。

これは注意力の問題ではない

AI に予約フォームを作らせると、こういう作りになります。その枠に予約があるか調べて、無ければ受け付けて、行を足す。

一人目の「調べる」が走って、空いていると出ます。その直後、行が足される前に、二人目の「調べる」も走ります。こちらも空いていると出ます。二人とも受け付けられます。

丁寧に書いても直りません。調べてから書くまでの間が必ず存在するので、そこに他人が入り込めます。

これは AI が書いたから起きたわけでもありません。人が書いても同じです。「調べて判断する」という作り方自体が、この場面に向いていません。

気づけないのが一番まずい

二重予約が怖いのは、起きたことが分からない点です。

申し込んだ二人は、どちらも成功の表示を見ています。予約の一覧を見ても、二行あるだけで異常には見えません。気づくのは二人が来たときです。

AI に作らせたものを人に使わせるのが不安なのは、たいていこの形の不安です。動いているのに間違っている。

調べないで守る

MulmoTerminal は AI に頼んで作業させるための画面で、npx の一行で立ち上げてブラウザで開きます。道具自体は無料で、AI の使用量は自分の契約から引かれます。そこで作れる共有アプリは、リンクで人に渡せるアプリで、フォルダ一つがアプリ一つになります。公開したあとは自分のパソコンが経路に入りません。

共有アプリの予約フォームでは、ページが枠の空きを調べていません。一つの枠に入れるのは一人だけというのを、その下のプラットフォームが決めています。

二人が同じ秒に押しても、片方には「取れた」と返り、もう片方には「取れなかった」と返ります。

これが不安への答えになります。二重予約を防いでいるのは自分のページではないので、ページを読み返して確かめる必要がありません。

スタッフが三人いるとき

美容室を考えると、もう一つ必要なものが出てきます。

スタイリストが三人いて、それぞれに予約が入ります。三人とも全部の予約を見たい。店全体の状況を知る必要があるからです。でも、自分に入った予約だけを承認したり動かしたりしたい。他の人の予約を勝手に触られては困ります。

読める範囲と書ける範囲が違う、ということです。

これは自分で作ろうとすると面倒なところです。「全部見えるけど自分の分以外は編集ボタンを出さない」を書くことになって、そのボタンを隠し忘れたら他人の予約が動きます。

共有アプリには、この形の役割が用意されています。全部の行を読めて、自分に割り当てられた行だけ書けるというものです。隠し忘れが事故にならないのが利点です。

承認という段がある理由

アンケートや定員つきの申し込みには、承認がありません。送信したら確定です。

予約にはあります。人が受けるからです。その時間に本当に空いているか。別の用事があるかもしれません。その内容で受けられるか。対応できない依頼かもしれません。

判断の余地を残す形になっています。

使い分けはこうなります。内容が一律で、空いていれば誰が来てもいいなら、承認は要りません。ジムのクラスや、定員つきの勉強会がこちらです。人が受けて、内容が個別なら承認が要ります。面談、施術、修理がこちらです。

予約した人が見るもの

予約した人が「月曜に承認されたかな」と思ってリンクを開くと、自分の予約だけが見えます。承認されたかどうかが分かります。他の人の予約は見えません。

これも、ページのコードが絞っているのではなく、そもそも他人の予約がページに届いていません。

頼み方

面談の予約を受けたい。 平日の10時から17時、1時間ごと。 面談するのは私と田中さんの2人で、それぞれの枠に申し込めるようにして。 申し込みが来たら承認する形にしたい。

「それぞれの枠」と「承認する」が入っていれば、名前のついた人が受ける形だと AI に伝わります。

できないことも先に

共有アプリは、サーバーで自分のコードを動かしません。

だから、予約が入ったときに自動でメールを送ることはできません。外部のカレンダーに自動で書き込むこともできません。

できるのは、集めて、見せて、承認するところまでです。通知が要るなら、受付のページを見に行く形になります。

これは制約ですが、その代わりに自分のパソコンが経路に入りません。寝ていても、旅行に出ていても、予約は受け付けられます。

使ってみる

MulmoTerminal は、次の一行で立ち上がります。ターミナル(Windows なら PowerShell、Mac ならターミナル)を開いて、そのまま貼り付けます。

npx mulmoterminal@latest

ブラウザが開いて http://localhost:34567 が表示されれば成功です。インストールという作業はありません。npx はその場で取ってきて動かすだけなので、合わなければ閉じるだけで終わります。止めるときは、打ったターミナルで Ctrl + C を押します。そのターミナルが分からなくなったら npx mulmoterminal@latest stop を使います。

動かない場合、足りないものは次の二つのどちらかです。

確かめ方 無ければ
Node.js 22.12 以上 node -v nodejs.org/ja/download の LTS。入れたらターミナルを閉じて開き直す
Claude Code claude --version macOS は curl -fsSL https://claude.ai/install.sh | bash、Windows は irm https://claude.ai/install.ps1 | iex。そのあと claude でログイン

Claude Code は、AI をターミナルから使うためのコマンドです。使うには Claude の有料プラン(Pro / Max / Team / Enterprise)か API のアカウントが必要で、無料プランには含まれていません。MulmoTerminal 自体は無料で、AI の使用量はその契約から引かれます。

新しい空のフォルダを一つ作ります。デスクトップでかまいません。名前も何でもかまいません。

MulmoTerminal の空いているマスをクリックして、上のタブで Claude を選び、WORKING DIRECTORY にそのフォルダのパスを入れて、右の再生ボタンを押します。

起動フォーム。上のタブで Claude を選び、WORKING DIRECTORY にフォルダのパスを入れて、右の再生ボタンを押す

開いた画面に、欲しいものを普通の言葉で打ちます。

面談の予約を受けたい。平日の10時から17時、1時間ごと。 面談するのは私と田中さんの2人で、それぞれの枠に申し込めるようにして。 申し込みが来たら承認する形にしたい。

田中さんにも触らせるなら、「田中さんは自分の担当だけ承認できるようにして」と足します。

公開する前に自分で見ます。そのマスでコレクションのパネルを開いて、ヘッダーの Previews を押すと、公開サイトと同じものが動きます。

そこで四つ確かめます。データが出ているか。読み込み中で止まっていないか。送信すると確認が出て、入っている値が正しいか。わざと変な値を入れて断られるか。そして仕上がって見えるか。

よければ「公開して」と頼みます。リンクが返ってきます。

空いている枠に自分で一件申し込んで、同じ枠にもう一度申し込んでみてください。断られれば成功です。

外に出したくないものなら、「公開ページは作らないで」と先に言っておきます。そうすると、名簿に載せた人しか開けません。

やめたくなったら、同じマスで「このアプリの公開をやめて」と頼みます。リンクが開けなくなります。集まったデータを消すなら、「レコードを全部消して」と頼みます。消すと戻らないので、先に画面で中身を見て、必要なら書き出してから頼んでください。

まとめ

AI に予約フォームを作らせると、「空いているかを調べてから登録する」という作り方になります。この方式は、調べてから書くまでの間に事故が入ります。丁寧に書いても直らず、しかも起きたことに気づけません。

MulmoTerminal の共有アプリで作る予約フォームでは、ページが空きを調べていません。一つの枠に一人だけ、というのをその下のプラットフォームが保証します。スタッフが全部読めて自分の担当だけ書ける役割も用意されているので、ボタンの隠し忘れが事故になりません。

この記事をシェア

関連記事

記事一覧に戻る