Ver.1.2では、ショートコードを利用して車両の予約状況を表す、予約カレンダーの表示機能が追加されました。

以下のURLの詳細ページを用意しました。
車両一覧を表示するショートコード「rebtal_box」には、その1で紹介した車両情報を表示する機能以外に、レンタカーの料金表を表示する機能があります。
ショートコードを次のように入力します。
[rental_box vid="xx" tno="1"]
「xx」は登録車両のデータIDです。
その1と同様です。下部に表示する車両情報詳細は、「detail」パラメータで指定します。
表示出力する車両の一覧には、デザインに関してID名やclass名をHTMLのタグに設定しています。初期設定は、利用に必要となる設定を少しだけしてあります。
デザインを変更する場合、プラグインのcssディレクトリにある「rental_box.css」を編集するか、テーマにある「style.css」を編集してください。
レンタカーを予約するための予約ページへ誘導する方法について、これまでの説明では車両IDをGETパラメータに含めた形で予約ページへリンクする、設定方法を述べてきました。
MTS Car Bookingシステムではショートコード「rental_box」を利用して、予約ページへ移動するリンクを含めた、車両の一覧を表示する便利な機能が用意されています。
設定は簡単です。以下のようなショートコードを固定ページや投稿のコンテンツに設定します。
[rental_box vid="xx"]
「xx」は車両管理で登録した車両のIDを設定してください。ページを表示するとショートコードの部分は、次のような表示になります。
ショートコードに設定できるパラメータは次の通りです。
表示出力する車両の一覧には、デザインに関してID名やclass名をHTMLのタグに設定しています。初期設定は、利用に必要となる設定を少しだけしてあります。
デザインを変更する場合、プラグインのcssディレクトリにある「rental_box.css」を編集するか、テーマにある「style.css」を編集してください。
メール送信は、予約申込者によって次の操作が実行されたとき、指定されたテンプレートを利用してメールを送信します。
それ以外に予約者へメールを送信したいとき、管理画面の「メール送信」メニューからメール編集画面を利用して送信することができます。
なおこのシステムに、予約者全員、あるいは登録ユーザーに一括、または絞り込み検索してメールを送信する機能はありません。
メール送信ページは、管理画面の「メール送信」メニューから直接表示することができます。
編集ページでは、新規にメールの宛先や件名、本文を入力して送信することができますが、テンプレート文が登録されている場合、テンプレート文を読み出して編集することもできます。
また、特定の予約に関してメールを送信するとき、予約リストから予約データを選択してメール送信ページに移動することもできます。
予約リストからメール送信ページに移動すると、メールテンプレート文を読み込んだとき、テンプレート文のリプレースメントがその予約データの情報に置き換えられて読み込まれます。
「送信」ボタンを押すと、メール送信ページの内容に従ってメールを送信します。
ただし、このページの内容は保存しませんので、必要があれば「BCC」を利用するなど自信のメールアドレスへコピー送信すると良いでしょう。
車両整備やその他、貸し出すことができない日程が予め分かっている場合、管理画面の「メンテナンス」メニューからメンテナンス画面で、一定期間の予約できない状態を登録することができます。
「メンテナンス」メニューを実行すると、以下のような「メンテスケジュール一覧」が表示されます。
一覧には、全車両の予約が一覧表示されます。特定の車両は、画面上部「車両」の選択で絞り込みできます。
以下の図は、車両整備の日程を新規追加しているところです。
注記に作業を明記しておくと、一覧リストで素早く確認できます。
これにより、当該期間は予約できなくなります。
料金にかかわる処理は、予約時にいくら費用がかかるかレンタル料金を提示するための機能、返却時の精算で徴収する燃料代を計算する機能、そして決済状況を記録する機能があります。
また料金計算では、共通して消費税の計算が必要になります。そのため予め消費税の計算に関して、内税計算か、外税計算か、計算しないか、各種設定で設定しておいてください。
料金計算の処理ページを表示するため、以下の2つの方法で対象となる予約データを選択することができます。
1つは、予約リストから対象となるデータを選択、料金計算ページへ移動します。
もう1つは、「レンタル料金」メニューを実行し、検索画面で予約IDを入力して料金計算ページへ移動します。
料金の処理に関し、目的の異なる処理が3つ、1ページ内で実行できるようになっています。
Web決済を利用した支払いは、「決済状況」で「Web」がチェックされます。それ以外の状況は、このページかレンタルデータの編集ページで「決済状況」を設定できます。
更新するときは「保存する」ボタンを押してください。
決済状況は、予約リストの「決済」欄に表示されます。
通常システムで計算するので必要ありませんが、値引きの必要があったり、請求料金を変更したい場合に金額を直接入力して消費税額など再計算します。
料金を変更する場合は「保存する」ボタンを押してください。
返却時に車両のオドメーターの距離を入力、燃料の単価を入力して「計算する」ボタンを押すことで燃料代が求められます。
計算結果は「保存する」ボタンを押して登録してください。
予約はWebサイトからの受付以外に、管理画面を利用して新規に登録することができます。また予約内容を変更したい場合、予約リストから当該データの編集処理へ移ることができます。
これにより電話や来店客の予約に関する対応で、予約登録や変更処理ができます。
管理画面上から予約を新規登録する場合、予約期間の選択に関して2つの方法があります。
次の図は、管理画面の「レンタル予定」メニューから「レンタル予定一覧」を表示したキャプチャ画像です。
予約対象車両の日付をクリックすると、時間を入力するダイアログボックスが表示され、「セット」ボタンを押すと上部の入力ボックスに日時が表示されます。出発日が選択されているときは、予約対象車両の情報が同時に左側の入力ボックスに設定されます。
予約の新規登録でもう1つの車両と予約期間の入力方法は、管理画面の「レンタル登録編集」を実行した場合で、次の図のような画面が表示されます。
入力方法は、まず「予約車両」を選択します。すると上部カレンダーに予約状況が読込まれます。続いて出発日(貸渡)の入力ボックスをクリックしてから、カレンダーの出発日をクリックします。返却日も同様に、日付を選択します。
車両とレンタル期間の日時を入力して実行すると、予約者の連絡先を含むデータ入力画面に移動します。
予約データを編集する場合、「予約リスト」から対象の予約データを検索、「予約者」欄の下にある「編集」を実行します。
予約リストは、登録された予約データの20件分を降順で表示します。
予約の中から特定のデータを検索する場合、予約の「対象年月」と「車種」で絞り込み検索ができます。その他右側のテキストボックスに「予約ID」を入力して、特定の予約データを検索することもできます。
予約データの「編集ボタン」を押すと、編集画面へ移ります。編集は、新規登録と同じ画面になります。
編集は予約の各入力データを修正できますが、予約日時や予約車両を変更する必要が生じた場合は、編集画面下部にある「日時入力」ボタンを押して、車両選択とカレンダーの日時入力画面へ移動して変更してください。
車両を貸し渡すとき、予約データにある「貸渡ODO」の入力項目にオドメーターの走行距離を登録しておくと、返却時にそのときの走行距離を使って燃料代の精算ができます。
予約の確認ページを用意すると、フロントエンド画面で予約IDとメールアドレスを入力して予約データを検索、確認することができます。
またキャンセルを有効にすると、キャンセル期間内であればキャンセルボタンが表示されます。さらに決済機能を追加すれば、Web上で決済するためのボタンが表示されます。
スラッグ名に「reserve-car」と名付けた固定ページを用意(公開登録)してください。
予約の検索フォームや検索結果は、このページが表示されるときプログラムによりコンテンツに出力されます。
キャンセルの受付は、管理画面の各種設定で「キャンセル」タブページに設定項目があります。
キャンセルが実行されたとき、キャンセルメールを送信することも可能です。キャンセルメールを送信する場合は、メール管理で予めキャンセルメールのテンプレートを登録しておきます。
キャンセル設定で、キャンセルの受付期限とメールテンプレートを設定します。
キャンセル機能が有効状態で、キャンセル有効期限内であれば、検索結果の表示ページに「キャンセル」ボタンが表示されます。
キャンセルが実行されたとき、レンタル開始までの残り日数によってキャンセル料金を計算、表示することができます。
ただしキャンセル料を表示することはできますが、徴収する機能はありませんので、どのように運営するかは予め決めておいてください。
キャンセル料の計算は、計算テーブルをプラグインディレクトリにある「src/MTSCarBooking/Config.php」ファイルに設定して利用します。
// キャンセル料の設定例(100分率) 日数 => 100分率 public static $cancelCharge = array( 1 => 1.0, 2 => 0.5, 3 => 0.1 );
この設定例は「料金請求」を「100分率」に設定した場合で、予約日までの残り日数を配列のインデックスとして、割合を配列値として設定します。料金計算は、レンタル料金合計に残り日数から表引きされた割合が乗算されます。
「料金請求」を「固定金額」に設定する場合は、前述の配列値に金額を設定して下さい。
操作編では、予約の確認とキャンセル機能をはじめ、管理画面上で予約を一覧表示したり、追加や編集をしたり、メールを送信するなど、予約を管理する機能について説明します。
またフロントエンドに関して、固定ページのコンテンツにショートコードを利用してレンタカーの一覧を表示する機能など説明します。
上記の機能はビジネス版に装備されている機能です。体験版には備わっておりませんので、体験版を利用しての操作確認はできません。
システムにはレンタカーの予約を受け付ける以外に、予約や返却時の清算など、日々の業務を円滑に進められるようにいくつかの機能が用意されています。
左図はこのシステムの管理画面で操作するメニューの一覧ですが、「レンタカー予約」の下に並ぶ「…管理」と呼ばれる4つの管理メニューは、それぞれこのシステムの主となるデータの管理に利用されます。
それらのメニュー項目は、運営管理者が優先的に操作するデータとして、WordPressのユーザー登録で「管理者」として登録されたユーザーに対してのみ、メニュー項目が表示されるようになっており、「編集者」以下でロールが登録されたユーザーには、それら主データを変更できないようにしています。
平常の業務では、「レンタカー予約」のサブメニュー項目の操作処理を実行することになります。サブメニュー処理の処理概要は以下の通りです。
予約を受け付ける場合、何日前から受け付け、貸し渡し日の何日前まで受け付けるか、レンタル期間は何日間か、など予約の受付条件を設定することができます。
この節では、それら予約条件の設定と、予約フォーム上での操作設定について説明します。
最初に、このシステムの予約処理について、基本的な仕様を説明します。
予約は出発時間、返却時間を入力しますので、1日の中で短い時間の予約が可能です。ただし予約処理は1日単位で取り扱いますので、短い時間であっても当該車両のその日の予約は、利用時間が異なる場合でも受け付けしません。
長期のレンタル事業に関しては考慮しておりません。
車両データにナンバーの有効期限を登録することができますが、予約受付処理において予約受付を制限する条件として利用していません。
当該車両の予約受付を中止したい場合、車両データの公開を取りやめ、予約のリンクを削除するようにしてください。
車両については、管理画面のメンテナンスメニューから期間を設定して「予約済み」状態にすることができます。この機能を利用して、整備期間など貸し出ししない状態を設定してください。
次の図は「予約条件」タブページの設定画面です。
次の図は「予約フォーム」タブページの設定画面です。
次の図は「料金決済」のタブページの設定画面です。決済機能の利用とは、Webサイト上で決済代行会社を通して、料金を徴収(カード決済)する事を表します。ここでは説明を割愛し、別途決済機能についての説明を参照ください。
次の図は「キャンセル」のタブページの設定画面です。体験版はキャンセル機能がありませんので、動作と設定について簡単に説明します。
キャンセルは、予約の確認ページで「予約ID」と「メールアドレス」を入力して予約情報を表示、キャンセルが有効期限内の場合に「キャンセル」ボタンが表示され、キャンセルすることができます。
決済機能と連動しませんので、決済機能を利用する場合は返金をどうするか、予め決めておいてください。
次の図は「連絡先」のタブページの設定画面です。入力フォーム上で、連絡先の入力項目を選択できます。選択で「必須」が選択された場合、未入力の場合はエラー表示して、予約フォームを再表示します。
「暗号化共通鍵」は、連絡先データをデータベースに暗号化登録するときの「キー」となります。このキーを変更すると、変更前のデータは復号化できなくなります。利用開始に当たって、右側に表示されるサンプルを利用するなど、必ず独自のキーの値を設定してください。サンプルは、ページ表示毎ランダム値を出力します。