Freigeben über


Ressourcenverfügbarkeit API suchen

Außendienst-Serviceorganisationen müssen die Arbeit planen, häufig über einen Service-Agent direkt vom Kunden. Die Buchungserstellung basiert in der Regel auf den Ressourcen, die dem Unternehmen zur Verfügung stehen, und den Anforderungen der Arbeit.

Wenn du mindestens Dynamics 365 Field Service v8.8.43.51 und Universal Resource Scheduling v3.12.46.21 zur Planung der Arbeit verwendest, nutze die msdyn_SearchResourceAvailability API, um alle berechtigten Ressourcen für den Job abzurufen, damit du die Arbeit effizient planen kannst. Zum Zeitpunkt des Schreibens ist v3 die neueste Version von msdyn_SearchResourceAvailability und unterstützt Web-API-Aufrufe.

Anmerkung

Verwenden Sie die neueste Version der API, da ältere Versionen möglicherweise veraltete Authentifizierungsmethoden verwenden.

Eingabeparameter

Name des Dataflows typ Eigenschaft Erforderlich Default
Version Zeichenfolge Die Versionsnummer der API identifiziert die Version der API, die aufgerufen werden soll. Es folgt dem Format major.minor.Patch. Die Anforderung muss nicht die vollständige Versionsnummer enthalten.

  • Wenn nur eine Hauptversion angegeben wird, wird die höchste verfügbare untergeordnete und Patchversion für diese Hauptversion aufgerufen.
  • Wenn sowohl Haupt- als auch Nebenversionen angegeben sind, wird die höchste verfügbare Patch-Version aufgerufen.
  • Wenn alle drei Teile der Version erwähnt werden, wird die genaue Version der angegebenen API aufgerufen.
  • Ja -K. A.-
    IsWebApi Boolesch Stelle auf True, um den Schedule-Assistant über die Web-API zu verwenden. Ja -K. A.-
    Anforderung Entity Dieses Attribut gibt die Ressourcenanforderung an, für die die Ressourcenverfügbarkeit abgerufen wird. Es wird erwartet, dass es sich um eine Entität vom Typ msdyn_resourcerequirement handelt. Die Anforderung kann ein bereits vorhandener Datensatz aus der Datenbank sein oder ein spontan erstellter Datensatz mit den erforderlichen Einschränkungen. Die Entität sollte alle Angaben enthalten, die für Ihre Suche relevant sind. Das @odata.type für diese Entität sollte Microsoft.Dynamics.CRM.msdyn_requirement sein. Die folgenden wichtigen Attribute müssen ausgefüllt werden:
    1. msdyn_fromdate (Terminzeit): Anforderung ab Datum im ISO-Format
    2. msdyn_todate (Terminzeit): Anforderung bis Datum im ISO-Format
    3. msdyn_remainingduration (Ganze Zahl): Die verbleibende Dauer der Anforderung in Minuten
    4. msdyn_duration (Integer): Die Gesamtdauer der Anforderung in Minuten
    Ja -K. A.-
    Einstellungen Entity Das Einstellungsattribut hilft, die abgerufenen Ressourcen weiter zu filtern. Geben Sie Einstellungen als Attribute in einem Entitätsbeutel an. Die Art der Entität spielt keine Rolle. Sie können einen beliebigen logischen Namen für die Entität angeben. Ja -K. A.-
    ResourceSpecification Entity Definiere das resourceSpecification Attribut als Attribute in einem Entitätsbeutel. Das @odata.type für diese Entität sollte Microsoft.Dynamics.CRM.expando sein. Nein Ohne

    Entitätseinstellungen

    Die Einstellungsentität ist keine Entität, die in Dataverse vorhanden ist. Es handelt sich jedoch um eine Sammlung aller folgenden Attribute, die den Filterergebnissen der Zeitplanassistenten-API helfen. Daher sollte das @odata.type für diese Entität Microsoft.Dynamics.CRM.expando sein.

    Name des Dataflows typ Eigenschaft Erforderlich Default
    Betrachten Sie Slots mit weniger als der erforderlichen Kapazität Boolesch Setzen Sie dies auf True wenn ein Zeitfenster mit weniger als der erforderlichen Kapazität (Aufwand) berücksichtigt werden sollte, wenn potenziell verfügbare Zeitfenster im Kalender der Ressource berechnet werden. Nein Nein
    ConsiderSlotsWithLessThanRequiredDuration Boolesch Setzen Sie dies auf True wenn ein Zeitfenster mit weniger als der erforderlichen Dauer berücksichtigt werden sollte, wenn potenziell verfügbare Zeitfenster im Kalender der Ressource berechnet werden. Nein Nein
    ConsiderSlotsWithOverlappingBooking Boolesch Setzen Sie dies auf True wenn ein Zeitfenster mit überschneidenden Buchungen berücksichtigt werden sollte, wenn potenziell verfügbare Zeitfenster im Kalender der Ressource berechnet werden. Nein Nein
    Betrachten Sie SlotsWithProposedBookings Boolesch Setzen Sie dies auf True wenn ein Zeitfenster mit vorgeschlagenen Buchungen berücksichtigt werden sollte, wenn potenziell verfügbare Zeitfenster im Kalender der Ressource berechnet werden. Nein Nein
    ConsiderAppointments Boolesch Legen Sie dies auf True für die Suchressourcen-Verfügbarkeits-API fest, um vorhandene Dataverse Termine als Buchungen auf der Ressource zu respektieren, sofern die Einstellungen auf Organisations- und Ressourcenebene festgelegt wurden. Termine mit dem Status Besetzt oder Abgeschlossen gelten als nicht verfügbar für die Terminplanung. Nein Nein
    Betrachten Sie die Reisezeit Boolesch Setzen Sie dies auf True wenn Reisezeit mit überschneidenden Buchungen berücksichtigt werden sollte, wenn potenziell verfügbare Zeitfenster im Kalender der Ressource berechnet werden. Nein Ja
    AusschließenRessourcenMerkmale Boolesch Setze dies auf True, um Ressourcenmerkmale für die Zeitfenster als Antwort auszuschließen. Nein Nein
    MovePastStartDateToCurrentDate Boolesch Setzen Sie dies auf True, um ein Startdatum in der Vergangenheit auf das aktuelle Datum zu verschieben. Nein Nein
    UseRealTimeResourceLocation Boolesch Setzen Sie dies auf True, wenn der tatsächliche Standort der Ressource berücksichtigt werden sollte, wenn potenziell verfügbare Zeitfenster im Kalender der Ressource berechnet werden. Nein Nein
    SortOrder EntityCollection Geben Sie die Sortierreihenfolge mithilfe einer Entitätsauflistung an. Jede Entität in der Auflistung stellt ein Sortierkriterium dar und kann nur Resources aus der Antwort, aber nicht TimeSlotssortieren. Das @odata.type für diese Entität sollte Microsoft.Dynamics.CRM.expando sein. Die folgenden Attribute müssen Sie ausfüllen:
    1. Name (Zeichenfolge): Die Sortierkriterien
    2. Sortierreihenfolge (Integer): Die Sortierrichtung (0 für aufsteigend und 1 für absteigend)
    Nein Ohne
    MaxResourceTravelRadius Entity Dieses Attribut gibt das Maximum an, das in einer Entität definiert werden. Das @odata.type für diese Entität sollte Microsoft.Dynamics.CRM.expando sein. Die folgenden Attribute müssen Sie ausfüllen:
    1. Wert (Dezimal): Der Radius
    2. Einheit (Integer): Die Entfernungseinheit. Siehe msdyn_distance Einheit-Optionssatz für mögliche Werte.
    Nein 0 km. Wenn dies der Fall ist, werden keine Ressourcen für Vor-Ort-Anforderungen zurückgegeben.
    MaxNumberOfResourcesToEvaluate Ganzzahl Dieses Attribut definiert ein Limit für die Anzahl der Ressourcen, die für die Anforderung berücksichtigt werden. Nein Wenn dieses Attribut nicht im API-Aufruf enthalten ist, verwendet das System das Resource Availability Retrieval Limit aus der Definition der planablen Entität, wie es in den Edit-Einstellungen für aktivierte Entitäten definiert ist. Wenn er im Aufruf enthalten ist, überschreibt er das definierte Resource Availability Retrieval Limit.
    ConsiderOutlookSchedules Boolesch Stelle dies auf True wenn Zeitpläne von Outlook berücksichtigt werden sollten. Nur verfügbar in den Versionen 3.1.0 und neuer. Nein Nein

    Ressourcenspezifikationsentität

    Name des Dataflows typ Eigenschaft Erforderlich Default
    ResourceTypes EntityCollection Dieses Attribut gibt den für die Anforderung erforderlichen Ressourcentyp an. Verwenden Sie eine Entitätssammlung, um dieses Attribut anzugeben. Jede Entität in der Sammlung repräsentiert einen buchbaren Ressourcentyp. Das @odata.type für diese Entität sollte Microsoft.Dynamics.CRM.msdyn_resourceType sein. Diese Eigenschaft ist erforderlich:
    1. Wert (Integer): Der Optionssatz-Wert, der den Ressourcentyp darstellt:
      • 1- Generisch
      • 2- Kontakt
      • 3- Benutzer
      • 4- Arbeitsgerät
      • 5- Firma
      • 6- Team
      • 7- Raum:
      • 8- Schwimmbäder
    Nein Alle Ressourcentypen außer Teams
    Bevorzugte Ressourcen EntityCollection Dieses Attribut gibt die bevorzugte Ressource für die Anforderung an. Füge Ressourcen zu dieser Entitätensammlung hinzu, damit sie ganz oben auf der Liste verfügbarer Ressourcen stehen. Sogar Ressourcen, die nicht zur Entitätensammlung gehören, stehen auf der Liste, aber nur nach den bevorzugten Ressourcen. Nein Ohne
    Eingeschränkte Ressourcen EntityCollection Dieses Attribut gibt die Ressource an, die für die Anforderung nicht berücksichtigt werden soll. Alle Zeitfenster dieser Ressource werden aus der Ergebnisliste dieser API herausgefiltert. Nein Ohne
    MustChooseFromResources EntityCollection Dieses Attribut gibt die einzigen Ressourcen an, die in der Liste der verfügbaren Ressourcen enthalten sein können. Es filtert alle anderen Ergebnisse aus der Ausgabeliste heraus.
    Einschränkungen Entity Dieses Attribut gibt die zusätzlichen Einschränkungen an, die beim Abrufen verfügbarer Ressourcen angewendet werden sollten. Nein Ohne
    RetrieveResourcesQueryId GUID Die ID für die Abfrage zum Ressourcenabruf. Nein Die Standardabfrage zum Abrufen der Ressourcen-ID.
    BookedResourceId GUID Dieses Attribut gibt die aktuell gebuchte Ressource für die Anforderung an. Nein Ohne

    Anmerkung

    Verwenden Sie eine Entitätssammlung buchbarer Ressourceneinheiten, um die Attribute Bevorzugt,Beschränkt und MustChooseFrom zu spezifizieren. Jede Entität in der Sammlung stellt eine bevorzugte, eingeschränkte oder MustChooseFrom-Ressource dar. Diese Eigenschaft ist für sie erforderlich:

    1. Wert (Guid): Die buchbare Ressourcen-ID der bevorzugten, eingeschränkten oder MustChooseFrom-Ressource . Das @odata.type für diese Entität sollte Microsoft.Dynamics.CRM.msdyn_bookableresource sein.

    Einschränkungen

    Spezifizieren Sie zusätzliche Einschränkungen durch Attribute in dieser Entität. Die Art der Entität spielt keine Rolle. Sie können einen beliebigen logischen Namen für die Entität angeben.

    Überprüfen Sie die Abfrage Ressourcen abrufen in den Zeitplanübersicht-Einstellungen, um zu ermitteln, welche Einschränkungen gelten könnten. Dazu gehören standardmäßig die folgenden Funktionen:

    Name des Dataflows typ Eigenschaft
    Merkmale EntityCollection Eine Sammlung von Eigenschaften, die eine qualifizierte Ressource besitzen muss. Jeder Eintrag enthält ein characteristic mit der charakteristischen ID. Optional kann man eine ratingvalue mit der Bewertungswert-ID hinzufügen, um Ressourcen nach einem bestimmten Kompetenzlevel zu filtern.
    Rollen EntityCollection Eine Sammlung von Rollen-IDs, die eine qualifizierte Ressource haben muss.
    Gebiete EntityCollection Eine Sammlung von Gebiets-IDs. Einem der Gebiete muss eine qualifizierte Ressource zugewiesen werden.
    Nicht spezifiziertes Gebiet Boolesch Gibt in Kombination mit der Gebietseinschränkung an, dass ein Qualifizierter einem der Gebiete oder gar keinem Gebiet zugewiesen werden muss.
    OrganizationalUnits EntityCollection Eine Sammlung von Organisationen-IDs. Eine qualifizierte Ressource muss Mitglied einer der angegebenen Organisationseinheiten sein.
    Teams EntityCollection Eine Sammlung von Team-IDs. Eine qualifizierte Ressource muss zu einem der Teams gehören (was bedeutet, dass der Ressourcentyp ein Systembenutzer ist).
    BusinessUnits EntityCollection Eine Sammlung von Geschäftseinheits-IDs. Eine qualifizierte Ressource muss zu einer der Unternehmenseinheiten gehören (was bedeutet, dass der Ressourcentyp ein Systembenutzer ist).

    Ausgabeparameter

    Auf der höchsten Ebene hat die Ausgabe die folgenden vier Parameter. Die Ergebnisse werden in Entitätensammlungen und Entitäten dargestellt. Antworten enthalten möglicherweise nicht alle hier beschriebenen Attribute als Nullwert oder nicht NA-Werte werden aus der Antwort weggelassen. Überprüfen Sie immer, ob ein Attribut vorhanden ist, bevor Sie versuchen, darauf zuzugreifen.

    Name des Dataflows typ Eigenschaft
    Zeitfenster EntityCollection Eine Sammlung von Zeitfensterergebnissen. Weitere Informationen finden Sie im Abschnitt Zeitfensterentität .
    Resources EntityCollection Eine Sammlung von Ressourcenergebnissen. Ressourcen werden als Sammlung von Entitäten mit den folgenden Attributen dargestellt:
    1. Buchbare Ressource (Juristische Person): Die buchbare Ressourcenentität, die für die Anforderung verfügbar ist.
    2. Gesamtverfügbare Zeit (Doppelt): Die insgesamt verfügbare Zeit für die Ressource, um die Anforderung zu erfüllen.
    Verknüpft Entity Zugehörige Ressourcen stellen Ressourcen und Zeitfenster von Ressourcen dar, die nicht direkt für die angeforderte Anforderung qualifiziert sind, aber miteinander verbunden sind. Wenn sich zum Beispiel ein Teammitglied für eine Anforderung qualifiziert, dann würden die anderen Mitglieder dieses Teams verwandte Ergebnisse sein.
    1. Zeitfenster (EntityCollection): Zeitfenster verwandter Ressourcen. Die Definition von Zeitfenstern ist die gleiche wie im Abschnitt Zeitfenster.
    2. Ressourcen (EntityCollection): Die zugehörigen Ressourcen. Die Definition von Ressourcen ist dieselbe wie in der Ressourcenattributdefinition beschrieben.
    Ausnahmen Entity Dieses Attribut enthält Informationen zu aufgetretenen Ausnahmen und Informationen darüber, ob und wo die Ressourcensuche abgeschnitten wurde.
    1. Nachricht (Zeichenfolge): Ausnahmemeldung
    2. RessourcenTruncatedAt (Ganze Zahl): Wenn die Anzahl der Ressourcen das Abruflimit überschritten hat; die Zahl, bei der die Ressourcen abgeschnitten wurden.

    Zeitslot-Entität

    Name des Dataflows typ Eigenschaft
    Kennung GUID Eindeutiger Bezeichner für den Zeitslot
    typ Ganzzahl Die Art von Zeitfenster. Dabei kann es sich um einen der folgenden Werte handeln:
    • 0: Verfügbar
    • 1: Geplant
    • 2 Aus
    • 3: Pause
    StartTime DateTime Startzeit des Zeitslot. Wenn es Reisen für die Anforderung gibt, ist diese Zeit der Startzeitpunkt. Wenn nicht, ist dies der Beginn der Anforderung.
    Ankunftszeit DateTime Die Ankunftszeit des Zeitslot. Wenn es Reisen für die Anforderung gibt, ist diese Zeit der Beginn der Anforderung, nachdem die Reise abgeschlossen ist. Wenn nicht, ist sie dieselbe wie die Startzeit des Zeitfensters.
    EndTime DateTime Endzeit des Zeitslots.
    Aufwand Ganzzahl Der Aufwand oder die Kapazität der Ressource, um die Anforderungen zu erfüllen.
    Ressourcenanforderung EntityReference Die Ressourcenanforderung, für die Zeitfenster abgerufen werden.
    Potential Boolesch Ein boolescher Wert, der angibt, ob der Zeitslot die angeforderte Anforderung erfüllen kann.
    IsDuplicate Boolesch Ein boolescher Wert, der angibt, ob das Zeitfenster ein Duplikat ist.
    AllowOverlapping Boolesch Ein boolescher Wert, der angibt, ob Überschneidung zugelassen ist.
    Ressource Entity Die Ressource, zu der der Zeitslot gehört. Weitere Informationen finden Sie unter Zeitfenster-Ressource.
    Ort Entity Der Standort hat drei Attribute:
    1. Standort (Juristische Person): Es hat zwei Attribute -
      • Breite
      • Länge
    2. Arbeitsplatz (Integer): Es hat drei Attribute -
      • Vor Ort. Vor-Ort-Anforderungen schließen Pool- und Raumressourcentypen aus den Ergebnissen aus.
      • Raum
      • Standortunabhängig
    3. StandortQuelleSlot (Integer): Die Quelle der Standortinformationen hat drei Attribute -
      • Allgemein
      • Benutzerdefinierte GPS-Entität
      • Mobile Überwachung
    Reisen Entity Diese Entität enthält Details zur Reisezeit und Entfernungsinformationen für ein Zeitfenster. Das sind die Attribute:
    1. Distanz (Doppelt): Die Reisedistanz
    2. TravelTime (Doppelt): Die Reisezeit in Minuten.
    3. EntfernungFromStartOrt (Doppelt): Die Entfernung vom Startort der Ressource.
    4. DistanceFromEndLocation (Doppelt): Die Entfernung der Ressource vom Endort.
    5. DistanceMethodSourceSlot (Integer): Die Quelle oder Berechnungsart der Distanzwerte
      • Service zuordnen
      • Wie die Krähe fliegt
    Nächste Entity Diese Entität enthält Angaben zur Reisezeit und Entfernung bis zur nächsten Zeitfensterbuchung.
    1. NächsterZeitplanStandort (Entität): Der Ort der nächsten Buchung. Die Entität hat zwei Attribute:
      • Breite
      • Länge
    2. NächsterPlanReisezeit (Integer): Die Fahrzeit zur nächsten Buchung in Minuten.
    Verfügbarkeit Entity Die detaillierten Verfügbarkeitsinformationen für ein Zeitfenster. Diese Entität wird mit Zeitgruppen verwendet.
    1. AvailableIntervals (EntityCollection): Eine Sammlung verfügbarer Intervalle. Jede Entität in dieser Sammlung enthält Details zu einem Zeitgruppenintervall.
      • StartTime (DateTime): Die Startzeit.
      • ArrivalTime (DateTime): Die Ankunftszeit.
      • EndTime (DateTime): Die Endzeit.
      • TimeGroupId (DateTime): Die Zeitgruppen-ID.
      • TimeGroupDetailStartTime (DateTime): Die Startzeit der Zeitgruppe.
      • TimeGroupDetailEndTime (DateTime): Die Endzeit der Zeitgruppe.
    2. TotalAvailableDuarion (Doppelt): Die verfügbare Gesamtdauer in Minuten.
    3. GesamtverfügbareZeit (Doppelt): Die verfügbare Gesamtzeit einer Ressource an einem Tag (in Minuten).
    TimeGroup Entity Die Details zu einer Zeitgruppe.
    1. TimeGroupId (Guid): Die Zeitgruppen-ID.
    2. TimeGroupDetail (EntityReference): Eine Entitätsreferenz auf das Zeitgruppendetail.
    3. TimeGroupDetailStartTime (DateTime): Die Zeitgruppendetail-Startzeit.
    4. TimeGroupDetaialEndTime (Datetime): Die Detail-Endzeit der Zeitgruppe.

    Tipp

    Wenn du Buchungen mit der API erstellst, verwende das in der Tabelle beschriebene Potential-Feld . Wenn Sie dieses Feld nicht nutzen, kann dies zu Überschneidungen oder unpassenden Buchungen führen.

    Zeitslot-Ressource

    Name des Dataflows typ Eigenschaft
    Ressource EntityReference Ein Entitätsverweis auf die buchbare Ressource.
    Resource group EntityReference Ein Entitätsverweis auf die buchbare Ressourcengruppe.
    BusinessUnit EntityReference Eine Entitätsreferenze für die Geschäftseinheit.
    OrganizationalUnit EntityReference Eine Entitätsreferenz für die Organisationseinheit.
    ResourceType Ganzzahl Der Ressourcentyp. Siehe ResourceType Attribute auf der Entität BookableResource für mögliche Werte.
    PoolId GUID Die ID des Pools, zu dem die Ressource für die Dauer des Zeitfensters gehört.
    CrewId GUID Die ID der Crew, zu der die Ressource für die Dauer des Zeitfensters gehört.
    Merkmale EntityCollection Die Merkmale der buchbaren Ressource. Jede Entität in der Sammlung enthält Entitäten mit Merkmalen und Bewertungsinformationen.
    1. Characteristic (EntityReference): Eine Entitätsreferenz auf das Merkmal.
    2. RatingId (Guid) Die Bewertungs-ID für das Merkmal.
    3. RatingName (Zeichenfolge): Der Bewertungsname.
    4. RatingValue (Integer): Der Bewertungswert.
    HasStartLocation Boolesch Ein boolescher Wert, der angibt, ob die Ressource eine Startposition hat.
    HasEndLocation Boolesch Ein boolescher Wert, der angibt, ob die Ressource eine Endposition hat.
    E‑Mail Zeichenfolge Die E-Mail-Adresse der Ressource.
    Telefonnummer Zeichenfolge Die Telefonnummer der Ressource.
    ImagePath Zeichenfolge Der Pfad zum referenzierten Bild.
    CalendarId GUID Die Kalender-ID der Ressource.

    Beispiele

    In diesem Beispiel verwendet man Version 3 der Schedule Assistant API, die Web-API-Aufrufe unterstützt, für eine Dauer von 60 Minuten. Durch die Verwendung des Attributs settings filtern Sie die Ergebnisse. Für das Endergebnis betrachtet man zwei Ressourcentypen: 1 und 2 (also generisch und Kontakt).

    {
        "Version": "4",
        "IsWebApi": true,
        "Requirement": {
            "msdyn_fromdate": "2021-07-14T00:00:00Z",
            "msdyn_todate": "2021-07-15T23:59:00Z",
            "msdyn_remainingduration": 60,
            "msdyn_duration": 60,
            "msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
            "@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
        },
        "Settings": {
            "ConsiderSlotsWithProposedBookings": false,
            "MovePastStartDateToCurrentDate": true,
            "@odata.type": "Microsoft.Dynamics.CRM.expando"
        },
        "ResourceSpecification": {
            "@odata.type": "Microsoft.Dynamics.CRM.expando",
            "ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
            "ResourceTypes": [
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "1"
                },
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "2"
                }
            ],
            "Constraints": {
                "@odata.type": "Microsoft.Dynamics.CRM.expando",
                "Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Characteristics": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "characteristic": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
                        },
                        "ratingvalue": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
                        }
                    }
                ],
                "Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Territories": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
                    }
                ],
                "Roles@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Roles": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "value": "76998e42-744c-f011-877d-6045bdfb899e"
                    }
                ]
            }
        }
    }
    
    

    Das folgende Beispiel demonstriert die ordnungsgemäße Verwendung von Entitätssammlungen. In diesem Fall bezeichnet MustChooseFromResourcessie .

    {
        "Version": "4",
        "IsWebApi": true,
        "Requirement": {
            "msdyn_fromdate": "2021-07-14T00:00:00Z",
            "msdyn_todate": "2021-07-15T23:59:00Z",
            "msdyn_remainingduration": 60,
            "msdyn_duration": 60,
            "msdyn_latitude": 47.64807,
            "msdyn_longitude": -122.41249,
            "msdyn_worklocation": 690970000,
            "msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
            "@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
        },
        "Settings": {
            "ConsiderSlotsWithProposedBookings": false,
            "MovePastStartDateToCurrentDate": true,
            "MaxNumberOfResourcesToEvaluate":500,
            "ConsiderTravelTime": true,
            "MaxResourceTravelRadius": {
                "Value": 20,
                "Unit" : 192350000,
                "@odata.type": "Microsoft.Dynamics.CRM.expando"
            },
            "@odata.type": "Microsoft.Dynamics.CRM.expando"
        },
        "ResourceSpecification": {
            "@odata.type": "Microsoft.Dynamics.CRM.expando",
            "ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
            "ResourceTypes": [
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "1"
                },
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "2"
                }
            ],
            "MustChooseFromResources@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
            "MustChooseFromResources": [
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "2145a982-f718-ed11-b83e-0022482d79c8"
                }
            ],
            "Constraints": {
                "@odata.type": "Microsoft.Dynamics.CRM.expando",
                "Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Characteristics": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "characteristic": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
                        },
                        "ratingvalue": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
                        }
                    }
                ],
                "Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Territories": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
                    }
                ]
            }
        }
    }