説明
Smart Booking は、人 (担当者) に紐づく面談・相談型の予約に特化した、完全無料の WordPress 予約プラグインです。弁護士・士業、結婚相談所、整体院・治療院、学習塾・予備校といった業種での利用を想定して設計されています。
主な機能
- 完全無料・制限なし — Pro 版・有料アドオン・ライセンス認証は一切ありません。すべての機能を無料で利用できます。
- 最短5分で導入 — プラグインを有効化すると、デフォルトの店舗・担当者と3つの基本項目(氏名・メールアドレス・電話番号)が自動作成されます。あとは投稿や固定ページに
[smart_booking]ショートコードを貼るだけで予約フォームが表示されます。 - 日本の予約フローに最適化 — 「入力 確認 完了」の3ステップフロー。予約を確定する前に、専用の確認画面で入力内容を見直せます。
- 複数店舗・複数担当者の管理 — 店舗ごと・担当者ごとにスケジュールを管理できます。店舗選択・担当者選択のステップを予約者に表示するかどうかは、「設定 > 基本設定」タブの2つのスイッチで切り替えます (初期値はどちらもオフ)。ステップを表示しない場合、店舗は一覧の先頭が自動で選ばれ、担当者は空いている担当者が一覧の順に自動で割り当てられます。
- 柔軟なスケジュール設定 — 30分・60分・90分・120分単位の時間枠、枠ごとの予約可能数、曜日パターンによる一括コピー、既存スケジュールの上書きオプションに対応します。
- カレンダーの表示モード — 日表示 (横スクロール)、月表示 (カレンダーグリッド)、両者の切り替えの中から選択でき、管理画面で設定できます。
- カスタムフィールド — 標準の3項目 (氏名・メールアドレス・電話番号) に加えて、管理者がテキスト・メール・電話番号・テキストエリア・セレクトボックス・ラジオボタン・チェックボックスの項目を追加できます。
- メール通知 — 予約受付時に予約者と管理者へ自動でメールを送信し、承認時には予約者へ確認メールを送信します。すべてのテンプレートは管理画面で編集できます。
- デザインカスタマイズ — ボタン色、日付選択色、時間枠色、必須マーク色、フォーカス色を、すべて管理画面から設定できます。
- 同時予約の競合防止 — 1回のアトミックな SQL UPDATE で定員を管理し、複数のユーザーが同時に送信した場合の二重予約を防ぎます。
- Google タグマネージャー (GTM) 連携 — 予約フォームは、プラグイン側の設定なしで常に
window.dataLayerへイベントをプッシュします。ステップが表示されるたびにsmart_booking_step(booking_stepキーの値はstore_select、staff_select、date_select、time_select、form_input、confirmのいずれか) を、予約の完了時に1回だけsmart_booking_complete(booking_stepの値はcomplete) を送ります。GA4 や Google 広告のコンバージョンタグを発火させるには、GTM のカスタムイベントトリガーにsmart_booking_completeを指定してください。スキップされたステップは送られず、再表示されたステップ (確認画面から戻った場合など) は再度送られます。なお、GTM コンテナタグ自体は別途サイトに設置する必要があります。 - WordPress.org のガイドラインに準拠 — 外部 CDN のスクリプトやスタイルを使用せず、PHP セッションも使いません。すべてのクエリで
$wpdb->prepare()を使用し、すべての出力をエスケープし、すべての REST エンドポイントで nonce とcurrent_user_can('manage_options')を検証します。
対応する予約フロー
[店舗選択] [担当者選択] [日付選択] [時間選択] [フォーム入力] [確認] [完了]
店舗選択と担当者選択のステップは、「設定 > 基本設定」タブのスイッチでオンにした場合にのみ表示されます。初期値はどちらもオフのため、予約者は日付選択から始まります。オンにすると、店舗や担当者が1件だけでもステップが表示されます。ショートコードの store_id 属性で店舗を指定したフォームでは、店舗選択ステップは表示されません。
任意の外部連携 (デフォルトはオフ)
以下の外部連携はデフォルトでオフです。管理者が「外部連携」タブで明示的に有効化し、必要な認証情報 (API キーなど) を入力した場合にのみ、外部への通信が発生します。
- Google カレンダー連携 — 予約受付時にカレンダーのイベントを作成し、キャンセル時に削除します。
- ChatWork 通知 — 予約を受け付けたときに、指定された ChatWork ルームへ通知メッセージを投稿します。
詳細は下記の「External services」セクションをご覧ください。
カスタマイズ & 機能リクエスト
機能リクエストやカスタマイズのご相談は、開発元の Liberdade Inc. までお問い合わせいただくか、サービスサイト wp-smart-booking.com をご覧ください。
ソースコード
src/ 配下の圧縮前の JavaScript と CSS のソースを含む完全なソースコードを、GitHub で公開しています:
https://github.com/KeisukeYokoyama/SmartBooking
外部サービス
このプラグインは以下の外部サービスと通信する場合があります。いずれの場合も、外部への通信はサイト管理者がその機能を明示的に有効化・設定した後にのみ発生します。Google カレンダー連携と ChatWork 通知はデフォルトでオフであり、「設定 > 外部連携」タブで有効化する必要があります。郵便番号検索は、管理者がフォームに「住所」項目を追加した場合にのみ動作します。
Google Calendar API
- エンドポイント:
https://www.googleapis.com/calendar/v3/ - 目的: 予約を受け付けたときに Google カレンダーのイベントを作成し、予約がキャンセルされたときにイベントを削除します。
- 送信するデータ: 予約日時、予約者名、店舗名、担当者名、予約番号。
- タイミング: 予約受付時 (イベントの作成) およびキャンセル時 (イベントの削除)。
- 認証方式: 管理者が設定画面でアップロードするサービスアカウントの JSON キー。
- デフォルト: オフ
- 利用規約: Google APIs 利用規約
- プライバシーポリシー: Google プライバシーポリシー
ChatWork API
- エンドポイント:
https://api.chatwork.com/v2/ - 目的: 予約を受け付けたときに、指定された ChatWork ルームへ通知メッセージを投稿します。
- 送信するデータ: 予約者名、予約日時、店舗名、担当者名、予約番号。
- タイミング: 予約者が予約フォームを送信した直後。
- 認証方式: 管理者が設定画面で入力する API トークン。
- デフォルト: オフ
- 利用規約: ChatWork 利用規約
- プライバシーポリシー: ChatWork プライバシーポリシー
郵便番号検索 API (zipcloud)
- エンドポイント:
https://zipcloud.ibsnet.co.jp/api/search - 目的: 予約フォームの「住所」項目に入力された郵便番号から、住所 (都道府県・市区町村・町域) を自動入力します。
- 送信するデータ: 入力された郵便番号のみ。個人を特定できる情報は送信しません。
- タイミング: 管理者がフォームに「住所」項目を追加し、郵便番号による住所の自動入力が有効 (デフォルト) になっている場合に、予約者が7桁の郵便番号を入力したとき。
- デフォルト: 「住所」項目を追加しない限り、通信は一切発生しません。
- 利用規約: zipcloud API 利用規約
これらの連携をいずれも有効化・設定していない場合、Smart Booking は外部サービスと一切通信しません。
スクリーンショット




インストール
- WordPress 管理画面の「プラグイン > 新規追加」からプラグインの ZIP をアップロードするか、
/wp-content/plugins/smart-bookingにアーカイブを展開します。 - 「プラグイン」画面から Smart Booking を有効化します。
- 有効化すると、デフォルトの店舗1つ・担当者1人・カスタムフィールド3つ (氏名・メールアドレス・電話番号) が自動的に作成されます。
- 管理画面サイドバーの Smart Booking メニューから、店舗・担当者・スケジュール・フォーム項目を設定します。
- 投稿や固定ページに
[smart_booking]ショートコードを貼り付けて公開すると、予約フォームが表示されます。
特定の店舗に限定したフォームを表示するには、作成した店舗の ID を store_id 属性に指定します (例: [smart_booking store_id="2"])。「店舗・担当者」画面の各店舗カードに、その店舗の ID を含むショートコードがコピーできる形で表示されています。
FAQ
-
本当に完全無料ですか ?
-
はい。Pro 版・有料アドオン・ライセンス認証は一切ありません。すべての機能を無料で利用できます。
-
デフォルトの状態で外部サービスと通信しますか ?
-
いいえ。デフォルトの状態では、Smart Booking は外部サービスと一切通信しません。Google カレンダー連携と ChatWork 通知は、管理者が「外部連携」タブで明示的に有効化し、必要な API 認証情報を入力した場合にのみデータを送信します。
-
予約フォームはスマートフォンに対応していますか ?
-
はい。予約フォーム・確認画面・完了画面はいずれもレスポンシブ対応で、スマートフォン幅 (375px) からタブレット、デスクトップまで動作を確認しています。
-
複数の予約者が同じ時間枠を同時に予約しようとした場合はどうなりますか ?
-
空き枠は1回のアトミックな SQL UPDATE 文で管理しているため、定員を超える予約が受け付けられることはありません。ページを表示してから送信するまでの間に満席になった場合、予約は作成されず、予約者にエラーメッセージが表示されます。
-
毎週繰り返すスケジュールを一括で設定できますか ?
-
はい。スケジュール管理画面で「スケジュールをコピー」を選び、「パターン」で曜日 (日〜土) と期間を指定すると、該当するすべての日付にスケジュールが複製されます。既存のスケジュールを上書きするかどうかも選択できます。
-
予約者が自分でキャンセルできますか ?
-
いいえ、v1 では対応していません。予約者自身がキャンセルする機能はありません。電話やメールでキャンセルの連絡を受けた場合は、管理画面の予約一覧からステータスを「キャンセル」に変更してください。
-
予約フォームに項目を追加できますか ?
-
はい。「フォーム設定」画面から、テキスト・メール・電話番号・テキストエリア・セレクトボックス・ラジオボタン・チェックボックスの項目を追加、並び替え、削除できます。
-
予約一覧をエクスポートできますか ?
-
はい。予約一覧画面の「CSV エクスポート」ボタンから、現在のフィルター結果を CSV ファイルとしてダウンロードできます。
-
予約者に確認メールが届かない場合はどうすればよいですか ?
-
メールの到達性は、お使いのサーバーのメール送信環境に依存します。確実に届けるには、WP Mail SMTP などの SMTP プラグインを利用し、あわせて送信元ドメインの SPF、DKIM、DMARC レコードを設定することを推奨します。直近の送信失敗は、「設定 > メール通知」タブで確認できます。
送信失敗が表示されていない場合でも、受信側のサーバーが迷惑メールと判定したり受信を拒否したりして、メールが届かないことがあります。予約者には自動返信が届くのに、管理者宛の通知だけが届かない、というのが典型的な症状です。対処方法は同じで、SMTP プラグインを導入し、SPF、DKIM、DMARC を設定してください。
-
プラグインを削除するとデータはどうなりますか ?
-
WordPress の「削除」を実行すると、Smart Booking が作成した7つのカスタムテーブルと、すべてのオプションが削除されます。データを残したい場合は、削除せずに停止してください。
評価
このプラグインにはレビューがありません。
貢献者と開発者
変更履歴
0.6.1 – 2026-10-07
- Fixed: when creating a reservation manually on the admin screen, the display conditions of form fields were ignored. Required fields that should have been hidden were shown, and the reservation could not be created without filling them in. Fields are now shown or hidden according to the selected parent field, just like on the booking form, and hidden fields are not required. Anything entered in a field that is hidden again is not saved.
- Changed: when creating a reservation manually with the status “Approved”, the customer now receives the booking confirmation email instead of the “reservation received” email. The administrator still receives the usual “new reservation” email. If the form has its own confirmation email text, that text is used.
- Changed: when creating a reservation manually with the status “Cancelled”, no email is sent.
- Emails for reservations created manually with the status “Pending”, and for reservations made through the booking form, are unchanged.
0.6.0 – 2026-09-25
- 追加: フォームの各項目に入力ルールを設定できるようになりました。項目タイプに応じて、使用できる文字種 (数字、英字、英数字、カタカナ、ひらがな、ひらがなとカタカナ)、文字数の範囲 (最小と最大)、他の項目との一致チェック (メールアドレスの確認用項目など) を指定できます。ルールを設定していない項目は、従来どおりの動作です。
- 追加: 半角指定の文字種では、予約者が全角で入力した英字と数字を自動的に半角へ変換し、変換後の値を確認画面と保存される回答に使用します。
0.5.6 – 2026-09-11
- 修正: 管理画面で、変更できないセレクトボックスのドロップダウン矢印が、右側に1つ表示される代わりにコントロール全体で繰り返し表示される問題と、入力エラーを表示しているセレクトボックスから矢印が消える問題を修正しました。どちらも同じスタイル指定が原因で、正しく表示されるようになりました。表示のみの問題で、保存されるデータや通知メールには影響しません。
これ以前のリリースについては、変更履歴の全文をご覧ください:
https://github.com/KeisukeYokoyama/SmartBooking/blob/main/CHANGELOG.md
