3.予約システムの構築

ここでは予約システムを構築するための元になるデータの設定に関して説明します。フロントエンドの動作や予約の管理についてこれまで説明しましたが、まだ読まれていない場合はそちらを先にお読み下さい。

さて、本システムを利用してWebサイト独自の予約システムを動作させるためには、必要な設定がいくつもあります。皆様が予約システムを構築する際は、この節を熟読し開始する事をお薦めします。

1.インストール・アンインストール

プラグインディレクトリ(wp-content/plugins)に本システムをディレクトリ(mts-bbq-booking)ごとコピーして、管理画面からプラグインを有効にします。

インストールでは、データベースに予約データを登録するための新しいテーブル、「mtsbq_guest」と「mtsbq_booking」を追加します。テーブルの追加が制限されている環境では利用できませんのでご注意下さい。

アンインストールは管理画面からプラグインを停止後、削除します。これによりデータベースに追加されたテーブル、及び、optionsテーブルに追加された全データが削除されます。

ただしインストール後作成されたサイトのpostデータと関連するpostmetaデータは削除しません。それらはWordPressのカスタム投稿機能を利用したデータになります。もう一度プラグインをインストールすると再利用できます。

2.設定データの概要

主要な設定は

  • 予約フォームのサイト選択リストに表示する「サイト要項」設定
  • 予約対象となる「バーベキューサイト」設定
  • 予約カレンダー、予約フォーム、メール文に関する「各種設定」

です。

「各種設定」は予約カレンダーや予約フォームの表示、入力条件を決めたり、送信するメールのテンプレート文を設定しますので他の2つより設定項目が多くなります。

管理画面以外に、プラグインで提供されるファイルを直接、編集するものがあります。それはデザインに関する「css」ファイル、及び印刷するためのテンプレートとなる「temp」ファイルです。それらは「mts-bbq-booking/src/MTSBbqBooking」ディレクトリの下の各ディレクトリに含まれています。

何れも必要に応じて直接修正して下さい。ただしプラグインのアップグレードにより書き換えられますので、修正ファイルは別に保管しておくと良いでしょう。

3.サイト要項の設定

予約の入力フォームは1画面で構成され、上部でバーベキューサイトの選択、下部で予約者の連絡先をそれぞれ入力するように構成されています。

予約入力フォーム

予約入力フォーム

サイトの要項は、バーベキューサイトを選択する際利用者がバーベキューサイトの案内ページを参照しなくても済むように、必要なポイントを掲載するためのものです。各バーベキューサイトのポイントは、後で説明する「バーベキューサイトの登録・編集」でデータを入力します。先ずは予約入力フォームでどのようにするか検討、表示するサイト要項を決めて下さい。

サイト要項の登録・編集は、「MTSBQサイト | サイト要項設定」メニューを選択します。

サイト要項設定 サイト要項の登録・編集画面

サイト要項設定 サイト要項の登録・編集画面

インストール直後はデフォルトで5つのポイントが設定されています。設定は「項目名」と「タイトル」の2つだけです。

  • 項目名
    保存するデータ名、HTML出力でのクラス名などに利用されます。半角英数字とマイナス、アンダーバーが利用できます。
  • タイトル
    管理画面やフロントエンドで出力される文字です。

項目は「追加」、または、「削除」ボタンで登録、削除を実行して下さい。

4.バーベキューサイトの登録・編集

「MTSBQサイト | 新規追加」メニューを選択して予約の対象データを新規登録します。

MTSBQサイトの新規登録画面

MTSBQサイトの新規登録画面

サイト要項

サイト要項へは、前のセクションで説明したバーベキューサイトの要点を簡潔に登録します。表示に画像を含めたい場合や説明ページのリンクを設定したい場合などは、HTMLテキストを含めて登録する事ができます。

予約受付対象者

予約で把握が必要となる数を入力するための項目を設定します。

「対象ID」はデータ名に利用されるので半角英数字で入力して下さい。「名称」は表示名に利用されます。「人数」がチェックされている場合は、入力されたデータの総和を次の受付人数上限、下限と比較するようになります。「料金」項目は、Ver.1.0は料金計算機能がないため未使用データです。

予約条件設定

「予約受付上限数」が予約管理されるバーベキューサイトの数になります。スケジュール管理機能を利用して、ある日付けに対してサイト数の増減を調整する事ができます。

「受付開始設定」、「受付終了設定」、「カレンダー表示境界」の項目は、Ver.1.0では未使用データです。

予約処理設定

「略称表示名称」は、予約カレンダーやサイト割振り処理でサイトを識別するための表示出力に利用する大事なデータです。なるべく短く設定すると良いでしょう。

「予約料金」項目は、Ver.1.0では未使用データです。

 5.各種設定

システム全体に関わる設定で、予約カレンダー、予約フォーム、メール文の3つの設定があります。

[カレンダー] タブ

予約カレンダー表示で予約を受付ける期間、カレンダー表示の表示境界、キャンセル受付の設定をします。

各種設定 カレンダータブの設定項目

各種設定 カレンダータブの設定項目

表示境界は、予約カレンダーに表示される予約リンク・予約情報を、受付開始が例えば3カ月前としたとき、90日の日で区切るか、3カ月後のカレンダー全体で区切るかを設定します。なお本システムでは30日区切りを1カ月単位として扱います。

[予約フォーム] タブ

予約入力フォームで利用する予約者情報の入力項目の並びや利用有無と、送信するメールテンプレートの番号を指定します。

各種設定 予約フォームタブの設定項目

各種設定 予約フォームタブの設定項目

入力項目の並びは、マウスを利用して「ドラグ&ドロップ」で上下を入れ替えて下さい。

入力項目は「必須・任意・不用」の三択です。右側のボタンを押して設定して下さい。

テンプレートの設定は、次の「メール文タブ」で設定したテンプレートの番号を選択します。番号は1から10までの1つです。テンプレートができたところで設定して下さい。

なおこのシステムから送信するメールには次の4種類があります。

  • 予約者通知(予約フォームを送信したときの予約者宛)
  • 管理者通知(予約フォームを送信したときの管理者宛)
  • 予約完了通知(予約確認処理で送信するときの予約者宛)
  • キャンセル通知(キャンセル処理を実行するための予約者宛)

変更後はかならず「変更を保存」ボタンを押して保存登録して下さい。

[メール文] タブ

メール文のテンプレートは全部で10件登録でき、1から10までの番号で管理されます。なおメール文が簡単に設定できるように、前述した4種類のサンプルが登録されていますので活用して下さい。

各種設定 メール文タブの設定項目

各種設定 メール文タブの設定項目

予約システムのメール送信は、WordPressの wp_mail() を利用しています。ですので設定項目は wp_mail()で利用可能な機能に限られますが、一部(ファイルの添付)機能は利用できません。

またメールアドレスを指定するときは、名前とメールアドレスを指定する事を指定する事をお薦めします。以下はその例です。

名前 <name@example.com>

次にメール文のテンプレート内で利用可能な変数の指定について説明します。先ずは下部にあるのテンプレートの読み込み機能を利用して「予約自動返信メール」を読み込んで下さい。

%SEI% %MEI% 様

この度は当施設をご利用いただき誠にありがとうございます。

以下の内容でご予約を承りました。詳細が確認できましたら後ほど予約完了の
メールをお送りします。なお、内容に不明な点などあった場合、こちらからお
問合わせさせていただく場合がございますのでご了承下さい。

翌日になりましても完了メールをお受け取りできないようでしたら、回線事情
などによりデータの喪失も考えられますので、お手数をお掛けしますがご連絡
下さいますようお願い申し上げます。

[予約ID] %RESERVE_ID%
[サイト]
%SITE%
[申込者]
 名前:%SEI% %MEI% (%SEI_KANA% %MEI_KANA%)
 性別:%SEX%
 年齢:%AGE%
 生年月日:%BIRTHDAY%
 E-Mail:%EMAIL%
 連絡先TEL:%TEL%
 会社・団体名:%COMPANY%
 住所:〒%POSTCODE%
    %PREF%%CITY%%ADDR1%
    %ADDR2%
[ご意見・ご要望]
%MEMO%
----------------------------------------------------------------------
施設名
郵便番号
住所
電話番号
メールアドレス
http://www.example.com

メール文の中の「%…%」が予約フォームで入力されたデータの変数名で、メール送信の直前で対象となる予約データの値と置き換えられます。

予約登録時の自動返信メールで「%SITE%」は、予約されたサイトの情報を予約サイト数だけ繰り返して表示します。次の確認完了のとき送信する「予約完了通知メール」テンプレートと異なります。

 :
[サイト]
%SITE,DATE,TITLE,NO,COUNT,SITE%
 :

上記は「予約完了通知メール」のサイト情報の変数指定です。指定は

%SITE,…,SITE%

とし、「%SITE」と「SITE%」の間へ予約日とサイト情報を指定する事ができます。この中で「NO」はサイト割振り機能で設定したサイト番号、「COUNT」は人数入力した名称と数がそれぞれ埋め込まれます。

次は完了通知メールの一部です。

[予約ID] 140528-0012
[サイト]
2014-6-7 炭火用サイト A1タイプ 番号:2 人数:10, 台数:1 
予約IDの構造

予約IDは構造は次の通りです。

yymmdd-0000

yymmddが予約登録日、0000は予約データの登録IDです。登録IDが9999を越えた場合、0000の部分は越えたままの桁数で表示されます。

閑話休題、以下はキャンセル通知メールの例文です。

%SEI% %MEI% 様

ご予約のキャンセルを承りました。ブラウザで以下のURLをアクセするとご予
約がキャンセルされます。なおキャンセル実行後の取り消しはできませんので
ご了承下さい。

%CANCEL_URL%

キャンセルしない場合は上記のURLにアクセスせず、このメールを破棄して下
さい。

またのご利用を心よりお待ちしております。

----------------------------------------------------------------------
施設名
郵便番号
住所
電話番号
メールアドレス
http://www.example.com

「%CANCEL_URL%」がキャンセルを実行するためのURL情報に置き換えられますので、忘れずに指定して下さい。

内容を編集した場合は「登録する」ボタンを押して保存をして下さい。

そしてここで設定したテンプレートの番号を、先の「予約フォーム」タブの各テンプレートへ指定して下さい。