ホテル予約フォームで滞在期間を超える食事リクエストを防止する方法
お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
宿泊客がホテルに滞在を予約する際には、到着予定日時、チェックアウト予定日時、滞在中に食事を含めるかどうかといった、いくつかの重要な情報の入力を求められることがよくあります。
一見シンプルに思えますが、フォームで実際の宿泊日数を超える日数分の食事をリクエストできてしまうと、状況は複雑になります。たとえば、3泊の宿泊なのに、5日分の食事をリクエストできてしまうのは望ましくありません。
予約処理を正確かつスムーズに行うには、フォームが送信される前にこうした不整合を検知できるロジックを組み込むことが重要です。これにより、ホテル側はリソースを適切に管理できるだけでなく、請求ミスや宿泊客の不満につながるエラーも防止できます。
ここでの目的は、食事を希望する日数が超えている場合に、滞在日数(チェックイン日とチェックアウト日の間の日数)を上回るフォーム送信を拒否することです。
まず、チェックイン日、チェックアウト日、食事が必要な日数の専用フィールドを持つフォームを作成します。
ロジック
-
チェックイン日とチェックアウト日の差分が、滞在の合計日数になります。
-
食事は、この滞在期間内の日数分に対してのみ提供できるようにします。
-
ユーザーが食事が必要な日数フィールドに、滞在期間より大きい値を入力した場合は、フォーム送信を拒否する必要があります。
チェックイン日とチェックアウト日の間の日数を計算するには、数式フィールド(フィールド名例:滞在日数)を追加し、DayDiff関数を使って次のように数式を設定します。
必要に応じて、この数式フィールドは、フィールドプロパティで非表示にしておくこともできます。
- フォームビルダーで[ルール]タブに移動し、[送信を拒否]に進みます。
- [今すぐ設定]をクリックします。

-
フォーム送信を拒否する条件を定義します。
「食事が必要な日数」が「滞在日数」(数式フィールドを選択)より大きい場合に、拒否メッセージを表示するように設定します。

-
[追加]をクリックして、ルールの概要を表示します。

回答者が入力した食事希望日数が滞在期間を超えている場合、フォーム送信は自動的に拒否されます。