Freigeben über


Nach Ressourcenverfügbarkeit suchen und Buchungen für Anforderungsgruppen erstellen

Verwenden Sie Ressourcenverfügbarkeit für API-Anforderungsgruppe suchen und Buchungs-API für Anforderungsgruppe erstellen, um die Ressourcen zu buchen, die den in Ihren Anforderungsgruppen angegebenen Anforderungen entsprechen.

Sie übergeben die Details einer Anforderungsgruppe in Ihren API-Aufrufen und rufen eine Liste der verfügbaren Ressourcen und ihrer offenen Zeitfenster ab. Diese Liste ist hilfreich für Selbstplanungsszenarien, in denen ein Benutzender die Verfügbarkeit von Ressourcen anzeigen möchte, oder für Portalplanungsszenarien, in denen ein Kunde bzw. eine Kundin die Ressourcenverfügbarkeit von einer Website oder App aus anzeigen möchte.

Zum Zeitpunkt des Schreibens ist v1 die neueste Version von msdyn_SearchResourceAvailabilityForRequirementGroup und unterstützt Web-API-Aufrufe.

Ressourcenverfügbarkeit für API-Anforderungsgruppe suchen

Verwenden Sie die folgenden Eingabe- und Ausgabeparameter für die Suchressourcenverfügbarkeit für Anforderungsgruppe (msdyn_SearchResourceAvailabilityForRequirementGroup) API.

Parameter

Name Typ Erforderlich Beschreibung
Version Zeichenfolge Ja Die Versionsnummer der API. Die Versionsnummer gibt die Version der API an, die aufgerufen werden soll. Die Versionsnummer ist eine semantische Versionsnummer des Formats major.minor.Patch. Die Anforderung muss nicht die vollständige Versionsnummer enthalten.
RequirementGroup Ja Eine Entitätsreferenz auf die Anforderungsgruppenentität.
RequirementSpecification Integer No Wenn Sie null lassen, wird standardmäßig die Dauer der Zielanforderungsgruppe berücksichtigt.
Einstellungen Entity<InputSettings> No Legt die Einstellungen für die Anfrage fest.

Eingabe

Name Typ Erforderlich Beschreibung
ConsiderSlotsWithLessThanRequiredDuration Boolesch No Gibt an, ob ein Zeitfenster mit weniger als der erforderlichen Restdauer bei der Berechnung potenzieller Zeitfenster berücksichtigt werden soll. Ist standardmäßig „false“.
ConsiderSlotsWithOverlappingBooking Boolesch No Gibt an, ob Zeitfenster mit überlappenden Buchungen bei der Berechnung potenzieller Zeitfenster berücksichtigt werden sollen. Ist standardmäßig „false“.
ConsiderSlotsWithProposedBooking Boolesch No Gibt an, ob Zeitfenster mit vorgeschlagenen Buchungen bei der Berechnung potenzieller Zeitfenster berücksichtigt werden sollen. Ist standardmäßig „false“.
MaxResourceTravelRadius Distanz No Gibt den maximalen Reiseradius für Ressourcen beim Berechnen verfügbarer Zeitfenster an.
SortOrder Integer No Gibt die Anforderungsgruppenreihenfolge für die Antwort an.
PageSize Integer No Anzahl der auf einer Seite zurückgegebenen Artikel. Ist standardmäßig auf „20“ festgelegt.
PagingCookie Zeichenfolge No Auslagerungs-Cookie aus dem vorherigen Suchergebnis abgerufen.
OrganizationUnits Listen-GUID<> No Eine Sammlung von Organisationen-IDs. Eine qualifizierte Ressource muss Mitglied einer der angegebenen Organisationseinheiten sein.
MustChooseFromResources Listen-GUID<> No Bewerten und wählen Sie Ergebnisse aus Ressourcen in dieser Liste aus.
RequiredResources Listen-GUID<> No Bewerten Sie alle Ressourcen, filtern Sie die Ergebnisse basierend auf dieser Liste. Verwenden Sie grundsätzlich MustChooseFromResources, um die Leistung zu verbessern.
TimeSlots ignorieren Boolesch No Gibt an, ob die zurückgegebenen Zeitfenster ignoriert werden sollen. Bei „true“ ist die Liste der zurückgegebenen Zeitfenster leer. Ist standardmäßig „false“.
ConsiderAppointments Boolesch No Setzen Sie dies auf „True“ setzen, damit die Suchressourcenverfügbarkeits-API vorhandene Dataverse-Umgebungen als Buchungen für die Ressource berücksichtigt, sofern die Einstellungen auf Organisations- und Ressourcenebene festgelegt sind. Termine mit Status „Beschäftigt“ und „Abgeschlossen“ werden von Zeitplanungsvorgängen als nicht verfügbar betrachtet.

Ausgabe

Reklamationen Name (Typ) Beschreibung
TimeSlots (Liste<OutputTimeSlot>) StartTime (Datum/Uhrzeit) Die Startzeit.
EndTime (DateTime) Die Endzeit.
Ankunftszeit (DateTime) Die Ankunftszeit.
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • Entfernung (Doppel)
  • Reisezeit (Doppel)
  • DistanceFromStartLocation (doppelt)
  • TravelTimeToEndLocation (Doppel)
Die Zeitfenster-Reiseinformationen. Ist nur vorhanden, wenn der Ressourcenbedarf Werte für Breiten- und Längengrad enthält.
Aufwand (Doppelt) Der Aufwand/die Kapazität.
IsDuplicate (boolesch) Ein boolescher Wert, der angibt, ob das Zeitfenster ein Duplikat ist.
Ressource(AusgabeRessource)

AusgabeRessource
  • Ressource (Buchbare Ressource)
  • TotalAvailableTime (Doppelt)
Die Ressourcenentität wie in diesem Artikel erläutert.
Location(OutputTimeSlotLocation)

OutputTimeSlotLocation:
  • Arbeitsort (Enum):
    • Vor Ort (0)
    • Raum (1)
    • Speicherortunabhängig(2)

  • LocationSourceSlot (Enumeration):
    • Allgemein (1)
    • Benutzerdefinierte GPS-Entität (2)
    • Mobile Überwachung (3)
Die Entität enthält Details zum Speicherort eines Zeitfensters. Weitere Informationen finden Sie unter „TimeSlotLocation“ in diesem Artikel.
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup:
  • TimeGroupId (GUID)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (DateTime)
  • TimeGroupDetailEndTime (DateTime)
Die Entität enthält Details zu einer Zeitgruppe. Weitere Informationen finden Sie unter TimeSlotTimeGroup in diesem Artikel.
VerfügbareIntervalle (List<<Guide>OutputTimeSlot>) Eine Sammlung verfügbarer Intervalle.
Ressourcen (Liste<AusgabeRessource>) Ressource (EntityReference) Ein Entitätsverweis auf die buchbare Ressource.
Geschäftseinheit (EntityReference) Ein Entitätsverweis auf die buchbare Ressourcengruppe.
OrganizationalUnit (EntityReference) Eine Entitätsreferenz für die Organisationseinheit.
ResourceType (Int) Der Ressourcentyp. Mögliche Werte finden Sie im Attribut „resourcetype“ in der Entität „BookableResource“.
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.
E-Mail (Zeichenfolge) Die E-Mail-Adresse der Ressource.
Telefon (String) Die Telefonnummer der Ressource.
ImagePath (Zeichenfolge) Der Pfad zum referenzierten Bild.
Anforderungen (Liste<OutputRequirements>) Anforderung (EntityReference) Ein Entitätsverweis auf den Ressourcenanforderungsdatensatz.
ConstraintBag (Zeichenfolge) Anforderungsbeschränkung im UFX-Behälter (intern)
Ressourcen (List<<EntityReference>EntityReference>) Entitätsreferenzliste der Ressource, die für die Anforderungen verfügbar ist.
ProposalResourceAssignmentSets (Liste<OutputProposalResourceAssignmentSet>) IntervalStart (Datum/Uhrzeit) Startzeit für jeden vorgeschlagenen Satz für Arbeitsauftragszuweisungen.
ProposalResourceAssignments (Liste<OutputProposalResourceAssignments>

OutputProposalResourceAssignments:
  • Anforderungs-ID (GUID)
  • ResourceId (Guid)
Liste der Ressourcen, die der Anforderung zugewiesen sind.
PagingInfos (OutputPagingInfo) MoreResults (Boolescher Wert) Ob es mehr Ergebnisse gibt oder nicht.
PagingCookie (Zeichenfolge) Auslagerungs-Cookie, das für die zukünftige Suche verwendet werden kann.

Beispielnutzlast

{
  "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
}

Beispielantwort

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

Buchungs-API für Anforderungsgruppe erstellen

Verwenden Sie die folgenden Eingabe- und Ausgabeparameter für das Erestellen der Anforderungsgruppenbuchung (msdyn_SearchResourceAvailabilityForRequirementGroup) API.

Parameter

Name Typ Erforderlich Beschreibung
Version Zeichenfolge Ja Die Versionsnummer der API. Die Versionsnummer gibt die Version der API an, die aufgerufen werden soll. Die Versionsnummer ist eine semantische Versionsnummer des Formats major.minor.Patch. Die Anforderung muss nicht die vollständige Versionsnummer enthalten.
RequirementGroup EntityReference Ja Ein Entitätsverweis auf die Entität der Anforderungsgruppenentität ist normalerweise eine GUID, wie im folgenden Beispiel gezeigt.
Beginnen DateTime Ja Startzeit des Timeslot.
Dauer Integer Ja Die Dauer der erstellten Buchung.
ResourceAssignments EntityCollection Ja Es ist eine Entitätssammlung der Ressourcenzuweisungen, die für die zu erstellenden Buchungen vorgenommen werden müssen. Weitere Informationen finden Sie in der Entitätstabelle Ressourcenzuweisung

Ressourcenzuweisungen

Name Typ Erforderlich Beschreibung
RequirementId GUID Ja Die Ressourcenanforderungs-ID der Anforderung, für die der Buchungsdatensatz erstellt werden soll.
ResourceId GUID Ja Die buchbare Ressourcen-ID der Ressource, für die Sie die Buchung erstellen möchten.
BookingStatusId GUID Ja Die Buchungsstatus-ID der erstellten Buchung.
Aufwand Integer No Die Kapazität der buchbaren Ressource, die von dieser Buchung verbraucht wird.
TravelTime Integer No Die Reisezeit in Minuten.

Ausgabe

Gibt HandlerExecuted vom Typ „Boolesch“ zurück.