計算距離に基づく価格の動的算出

計算距離に基づく価格の動的算出

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

要件

距離に基づいてタクシーまたはハイヤーの料金を計算します。

ユースケース

タクシー予約アプリケーションで、乗車および降車の住所に基づいておおよその料金を計算し、表示します。ユーザーは、ボタンをクリックしてそのまま 賃貸申請 フォームで乗車を予約できます。

動作を確認する

手順

1. 2つのフォームを作成 し、次の詳細を設定します。
フォーム
フォームリンク名
項目タイプ
項目名
項目リンク名
賃貸申請
Rent_Requisition
名前
名前
名前
電話番号
電話番号
Phone_Number
日付-時間
出張 日付 & 時間
Travel_Date_Time
一行テキスト
Starting Point
Starting_Point
一行テキスト
Drop
Drop
予約
予約
一行テキスト
Starting Point
Starting_Point
一行テキスト
Drop
Drop
小数
距離
距離
通貨
価格
価格

2. 予約 フォームを複製して、 ステートレスフォームを作成します。フォーム名を 予約見積書に変更します。ここでは、見積書を表示するためだけに使用するので、ステートレスフォームを使用します。一部の顧客は料金を閲覧・確認するだけの場合があります。
 
3. フォームビルダーのヘッダーにある フォームのプロパティ アイコンを、 予約 見積書 フォームでクリックします。
 
4. スライダーで、初期設定のボタンである 送信する リセットする を削除します。


5. 追加する Button をクリックして、ボタンを作成します。


6. Button という名前の新しいボタンが作成されます。ボタン名の右側にある三点リーダーをクリックして、以下のように名前を Book Now! に変更します。


7. 同様の手順で、 計算する 価格 という名前のボタンを作成します。
 
8. フォーム読み込み時に実行されるように、フォームワークフローを作成 し、 予約 見積書 フォームの 価格 距離 項目を無効にします。

9. 追加する 新規 操作 をクリックします。以下のコードを追加して、 価格 項目を無効にします。
  1. 無効にする 価格;
  2. 無効にする 距離;

10. 走行した距離に基づいて移動の見積書を計算するために、 計算する 価格 ボタンがクリックされたときに実行される、別のワークフローを作成します。
 
11. 追加する 新規 操作 をクリックし、以下のコードを追加して 距離 価格 を計算します。ここでは、Zoho Maps の Deluge メソッドを使用して、 2 つの地点間の距離 を取得します。
  1. //開始地点と降車地点の距離を km 単位で計算します。Starting Point と Drop の値から trim() を使用して空白を削除しています。
  2. dist = round(Zoho。map。distanceBetween(input。Starting_Point。trim(),input。Drop。trim(),'KILOMETRE'), 2);
  3. //ドライバー費用を 350 ルピーと仮定します。
  4. driverCost = 350;
  5. //走行費用を 1km あたり 17 ルピーと仮定します。
  6. ratePKm = 17;
  7. //基本見積書を計算します。
  8. 価格 = round(driverCost + (dist * ratePKm) , 2);
  9. //ボタンをクリックするとフォームが再読み込みされるため、計算後の値を保持したままフォームを再度開きます。
  10. openUrl('#Form:Booking_Estimate?Starting_Point=' + input。Starting_Point + '&Drop=' + input。Drop + '&距離=' + dist + '&価格=' + 価格 , 'same window');

これにより、移動の概算費用が表示されます。

12. 見積書が表示された後に Book Now! ボタンがクリックされたときにタクシーを予約するワークフローを作成します。
 
13. 追加する 新規 操作 をクリックし、 Deluge Script を選択します。以下のスクリプトを追加して、 賃貸 Requisition フォームを、 Starting_Point Drop 項目があらかじめ入力された状態で開きます。
  1. openUrl('#Form:Rent_Requisition?Starting_Point=' + Starting_Point + '&Drop=' + Drop, 'same window');
顧客が 出張の日付と時間 およびライダーの詳細を入力します。

動作を確認する

 

注意事項

  • distanceBetween メソッドは、次の Deluge コードを使用して 2 つの住所項目で使用できます。
  1. Zoho。map。distanceBetween(Starting_Point, Drop, 'KILOMETRE');