リソースの空き時間を検索し、要件グループの予約を作成する

要件グループのリソース空き時間検索 API要件グループの予約の作成 API を使用して、要件グループで特定したニーズを満たすリソースを予約します。

要件グループの詳細を API 呼び出しで渡し、使用可能なリソースとそれらのオープン時間帯のリストを取得します。 このリストは、ユーザーがリソースの空き状況を表示したいセルフ スケジューリング シナリオや、顧客が Web サイトやアプリからリソースの空き状況を表示したいポータル スケジューリング シナリオに役立ちます。

現時点では、v1 が msdyn_SearchResourceAvailabilityForRequirementGroup の最新バージョンで、Web API 呼び出しをサポートしています。

要件グループのリソース空き時間検索 API

要件グループのリソース空き時間検索 (msdyn_SearchResourceAvailabilityForRequirementGroup) API の場合、次の入力および出力パラメーターを使用します。

パラメーター

名前 タイプ 必須出席者 説明
[バージョン] String あり API のバージョン番号。 バージョン番号は、呼び出される API のバージョンを識別します。 バージョン番号は、major.minor.patch 形式のセマンティック バージョン番号です。 要求に完全なバージョン番号を含める必要はありません。
RequirementGroup あり 要件グループ エンティティへのエンティティ参照。
RequirementSpecification Integer 無効 null のままにすると、既定でターゲット要件グループの期間を考慮します。
設定 Entity<InputSettings> 無効 リクエストの設定を設定します。

input

名前 タイプ 必須出席者 説明
ConsiderSlotsWithLessThanRequiredDuration ブール値 無効 潜在的なタイムスロットを計算するときに、必要な残りの期間より短いタイムスロットを考慮する必要があるかどうかを指定します。 これは既定で false です。
ConsiderSlotsWithOverlappingBooking ブール値 無効 潜在的な時間帯を計算するときに、予約が重複している時間帯を考慮するかどうかを指定します。 これは既定で false です。
ConsiderSlotsWithProposedBooking ブール値 無効 潜在的なタイムスロットを計算するときに、提案された予約のタイムスロットを考慮する必要があるかどうかを指定します。 これは既定で false です。
MaxResourceTravelRadius Distance 無効 使用可能なタイムスロットを計算するときのリソースの最大移動半径を指定します。
SortOrder Integer 無効 応答の要件グループの順序を指定します。
PageSize Integer 無効 ページで返されたアイテムの数。 既定では 20 です。
PagingCookie String 無効 以前の検索結果から取得したページング Cookie。
OrganizationUnits リスト<ガイド> 無効 組織単位 ID のコレクション。 資格要件を満たすリソースは、指定された組織単位のいずれかのメンバーである必要があります。
MustChooseFromResources リスト<ガイド> 無効 このリストのリソースから結果を評価して選択します。
RequiredResources リスト<ガイド> 無効 すべてのリソースを評価し、このリストに基づいて結果をフィルタリングします。 一般に、パフォーマンスを向上させるには、代わりに MustChooseFromResources を使用してください。
IgnoreTimeSlots ブール値 無効 返されたタイム スロットを無視するかどうかを指定します。 true の場合、返されるタイム スロットのリストは空になります。 これは既定で false です。
ConsiderAppointments ブール値 無効 組織とリソース レベル設定が設定されている場合、リソース可用性検索 API が既存の Dataverse 予定をリソースの予約として尊重するよう True に設定します。 対応中や完了済みの状態となっている予定は、スケジュール管理に対して利用できないものとみなされます。

出力

返品 名前(タイプ) 説明
タイムスロット (List<OutputTimeSlot>) 開始時刻 (日時) 開始時刻。
終了時刻 (日時) 終了時刻です。
到着時刻 (日時) 到着時刻。
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • 距離(ダブル)
  • トラベルタイム(ダブル)
  • DistanceFromStartLocation (ダブル)
  • TravelTimeToEndLocation (ダブル)
タイムスロットの移動情報。 リソース要件に緯度と経度の値が含まれる場合にのみ存在します。
努力(ダブル) 工数/容量。
IsDuplicate (ブール値) 時間帯が重複しているかどうかを示すブール値。
Resource(OutputResource)

OutputResource
  • リソース (BookableResource)
  • TotalAvailableTime(Double)
この記事で説明するリソース エンティティ。
Location(OutputTimeSlotLocation)

OutputTimeSlotLocation:
  • WorkLocation (列挙型):
    • オンサイト (0)
    • 設備 (1)
    • 場所指定なし (2)

  • LocationSourceSlot (列挙型):
    • 共通 (1)
    • ユーザー定義 GPS エンティティ (2)
    • モバイル監査 (3)
エンティティには、時間帯の場所に関する詳細が含まれています。 詳細については、この記事の TimeSlotLocation を参照してください。
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup:
  • TimeGroupId (ガイド)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (日時)
  • TimeGroupDetailEndTime (日時)
エンティティには、時間グループに関する詳細が含まれています。 詳細については、この記事の TimeSlotTimeGroup を参照してください。
利用可能間隔 (List<<Guide>OutputTimeSlot>) 使用可能な間隔のコレクション。
リソース (List<OutputResource>) リソース (EntityReference) 予約可能リソースへのエンティティ参照。
ビジネスユニット (EntityReference) 予約可能リソース グループへのエンティティ参照。
組織単位 (EntityReference) 組織単位へのエンティティ参照。
ResourceType (整数) リソースの種類。 可能な値については、BookableResource エンティティの resourcetype 属性を参照してください。
PoolId (ガイド) 時間帯で、リソースがメンバーであるプールの ID。
CrewId (ガイド) 時間帯で、クルーがメンバーであるプールの ID。
Email (文字列) リソースのメール アドレス。
Phone (文字列) リソースの電話番号。
ImagePath (文字列) リソースの画像へのパス。
要件 (List<OutputRequirements>) 要件 (EntityReference) リソース要件レコードへのエンティティ参照。
ConstraintBag (文字列) ufx バッグの要件制約(内部)
リソース (List<<EntityReference>EntityReference>) 要件に利用可能なリソースのエンティティ参照リスト。
ProposalResourceAssignmentSets (List<OutputProposalResourceAssignmentSet>) IntervalStart (日時) 各提案リソース割り当てセットの開始時間。
ProposalResourceAssignments (リスト<OutputProposalResourceAssignments>

OutputProposalResourceAssignments:
  • RequirementId (Guid)
  • ResourceId (Guid)
要件に割り当てられたリソースのリスト。
PagingInfos (OutputPagingInfo) MoreResults (ブール値) より多くの結果があるかどうか。
PagingCookie (文字列) 今後の検索で使用できるページング Cookie。

ペイロードの例

{
  "RequestName": "msdyn_SearchResourceAvailabilityForRequirementGroup",
  "Parameters": [
    {
      "Key": "Version",
      "Value": "1"
    },
    {
      "Key": "RequirementGroup",
      "Value": {
        "Id": "6927721a-0137-42be-8092-26995625a9d9",
        "LogicalName": "msdyn_requirementgroup",
        "Name": null,
        "KeyAttributes": [],
        "RowVersion": null
      }
    }
  ],
  "RequestId": null
}

応答例

{
  "ResponseName": "msdyn_SearchResourceAvailabilityForRequirementGroup",
  "Results": [
    {
      "Key": "TimeSlots",
      "Value": {....}
    },
    {
      "Key": "Requirements",
      "Value": {....}
    },
    {
      "Key": "ProposalResourceAssignmentSets",
      "Value": {....}
    },
    {
      "Key": "PagingInfos",
      "Value": {....}
    }]
}

要件グループの予約の作成 API

要件グループの予約の作成 (msdyn_CreateRequirementGroupBookings) API の場合、次の入力および出力パラメーターを使用します。

パラメーター

名前 タイプ 必須出席者 説明
[バージョン] String あり API のバージョン番号。 バージョン番号は、呼び出される API のバージョンを識別します。 バージョン番号は、major.minor.patch 形式のセマンティック バージョン番号です。 要求に完全なバージョン番号を含める必要はありません。
RequirementGroup EntityReference あり 以下のサンプルに示すように、要件グループ エンティティへのエンティティ参照は通常、GUID です。
先頭 DateTime あり 時間帯の開始時刻。
長さ Integer あり 作成する予約期間。
ResourceAssignments EntityCollection あり これは、予約を作成するために作成されるリソース割り当てのエンティティ コレクションです。 詳細については、リソース割り当てエンティティ テーブルを参照してください

リソース割り当て

名前 タイプ 必須出席者 説明
RequirementId GUID あり 予約レコードを作成する要件のリソース要件 ID。
ResourceId GUID あり 予約を作成するリソースの予約可能リソース ID。
BookingStatusId GUID あり 作成する予約の予約状態 ID。
工数 Integer 無効 この予約が消費する予約可能リソースの容量。
TravelTime Integer 無効 移動時間 (分)。

出力

ブール型の HandlerExecuted を返します。