この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

AppointmentBookingService クラス

フィールドサービスの予定予約のスケジュール処理を表します。予定の予約は、スケジュール設定ポリシー、作業ルール、サービス内容を考慮して、サービス予定に使用可能な時間枠を返します。たとえば、明日の午前 9 時~ 11 時、または次の月曜日の午後 4 時~ 6 時に予定をスケジュールできます。

名前空間

FSL

使用方法

AppointmentBookingService クラスをコールする前に、親作業指示とサービス予定がすでに存在することを確認してください。送信する operatingHoursId は、予定の予約時に顧客に提示された時間枠のバリエーションを表します (月曜日の午前 9 時~ 11 時、午前 11 時~午後 1 時、午後 1 時~ 3 時、火曜日の 午前 9 時~ 11 時、正午~午後 4 時など)。

タイムゾーンは通常、サービスを依頼する顧客のロケーションに基づきます。ベストプラクティスとして、サービステリトリーの業務時間で指定されたタイムゾーンを使用してください。

AppointmentBookingService クラスがコールされると、関連付けられた作業種別の ExactAppointment 値は無視されます。正確な予定が必要な場合は、パラメータでこの値を true に設定します。作業種別の ExactAppointment を優先する場合は、作業種別から直接照会します。

時間枠を取得した後、開発者は時間枠の表示方法または管理方法を決めることができます。通常、時間枠は顧客に表示され、顧客が時間枠を選択します。時間枠が選択されたら、サービス予定の ArrivalWindowStartTime 項目と ArrivalWindowEndTime 項目が時間枠の開始時刻と終了時刻で更新されます。サービス予定が選択された時間枠内に正しくスケジュールされるように、FSL.ScheduleService メソッドがコールされます。

AppointmentBookingService のメソッド

AppointmentBookingService には、次の静的メソッドが含まれます。

getSlots(serviceID, policyId, operatingHoursId, tz, exactAppointment)

FSL.AppointmentBookingSlot レコードのリストを返します。

署名

public static List<FSL.AppointmentBookingSlot> getSlots(Id serviceID, Id policyId, Id operatingHoursId, System.TimeZone tz, Boolean exactAppointment)

パラメータ

serviceID
型: Id
必須。スケジュールされるサービス予定の ID。
policyId
型: Id
必須。使用されるスケジュール設定ポリシーの ID。
operatingHoursId
型: Id

必須。時間枠の間隔を決定するために使用される業務時間レコードの ID。

業務時間レコードの TimeZone は無視されます。

メモ

tz
型: System.TimeZone
必須。時間枠が返されるタイムゾーン。これは通常、サービス予定が行われるサービステリトリー、つまり顧客のロケーションのタイムゾーンです。予定の予約枠は、顧客のロケーションのタイムゾーンで表示する必要があります。
exactAppointment
型: Boolean
必須。結果で正確な予定または到着期間を使用するかを指定します。getSlots() メソッドがコールされると、作業種別の exactAppointment 値は無視されます。

使用方法

このメソッドは指定されたサービス予定を予約可能な時間枠のリストを返します。結果は元の要求で送信されたタイムゾーンで返されます。予定の時間枠 (9 時~ 11 時、11 時~ 1 時、1 時~ 3 時など) は、コールで提供された operatingHoursId 値によって異なります。

このメソッドは空き時間枠を返すだけで、サービス予定のスケジュールは行いません。エンドユーザが希望する時間枠を選択したら、サービス予定の ArrivalWindowStartTime 項目と ArrivalWindowEndTime 項目を更新し、FSL.ScheduleService メソッドをコールします。

データベースで日時が更新される前に、タイムゾーン変換を実行して dateTime 値を UTC に変換します。

この例は、[顧客優先] スケジュール設定ポリシーと [ゴールド予定カレンダー] 業務時間を、希望する予定時間枠として使用して AppointmentBookingService クラスをコールします。

時間枠が選択されたら、サービス予定は次のように更新されます。