Sök efter resurstillgänglighet och skapa bokningar för kravgrupper

Använd Sök resurstillgänglighet för kravgrupp API och Skapa boknings-API för kravgruppför att boka resurser som uppfyller de behov som du identifierar i kravgrupperna.

Du skickar information om en kravgrupp i dina API-anrop och hämtar en lista med tillgängliga resurser och deras öppna tidsluckor. Den här listan är användbar för scenarier med självschemaläggning, där en användare vill visa resursernas tillgänglighet eller för scenarier där en kund vill visa resurstillgänglighet från en webbplats eller app.

I skrivande stund är v1 den senaste versionen av msdyn_SearchResourceAvailabilityForRequirementGroup och stöder webb-API-anrop.

Sök resurstillgänglighet för kravgrupp API

Använd följande indata- och utdataparametrar för Sök resurstillgänglighet för kravgrupp (msdyn_SearchResourceAvailabilityForRequirementGroup) API.

Parametrar

Namn Typ Obligatorisk Beskrivning
Version: Sträng Ja Versionsnummer för API. Versionsnumret anger vilken version av API:en som ska anropas. Versionsnumret är ett semantiskt versionsnummer av formatet major.minor.patch. Förfrågan behöver inte innehålla det fullständiga versionsnumret.
RequirementGroup Ja En entitetsreferens till kravgruppsentiteten.
RequirementSpecification Integer Inga Om den är noll respekteras målkravgruppens varaktighet som standard.
Inställningar Entity<InputSettings> Inga Anger inställningarna för förfrågan.

Indata

Namn Typ Obligatorisk Beskrivning
ConsiderSlotsWithLessThanRequiredDuration Boolean Inga Anger om en tidslucka med mindre än den begärda återstående varaktigheten ska beaktas vid beräkning av potentiella tidsluckor. Det är falskt som standard.
ConsiderSlotsWithOverlappingBooking Boolean Inga Anger om tidsluckor med överlappande bokningar ska beaktas när du beräknar potentiella tidsluckor. Det är falskt som standard.
ConsiderSlotsWithProposedBooking Boolean Inga Anger om tidsluckor med föreslaget fel ska beaktas vid beräkning av potentiella tidsluckor. Det är falskt som standard.
MaxResourceTravelRadius Avstånd Inga Anger maximal färdtid för resurser när tillgängliga tidsluckor beräknas.
SortOrder Integer Inga Anger kravgruppsordning för svaret.
PageSize Integer Inga Antalet objekt som returneras på en sida. Det är 20 som standard.
PagingCookie Sträng Inga Cookie för sidväxling hämtades från tidigare sökresultat.
OrganizationUnits Lista<Guid> Inga En samling med ID:n för organisationsenheter. En kvalificerad resurs måste vara medlem i en av de angivna organisationsenheterna.
MustChooseFromResources Lista<Guid> Inga Utvärdera och välj resultat från resurser i den här listan.
RequiredResources Lista<Guid> Inga Utvärdera alla resurser och filtrera resultaten utifrån den här listan. Använd i stället MustSourceResources för bättre prestanda.
IgnoreTimeSlots Boolean Inga Anger om de returnerade tidsluckor ska ignoreras. När det är sant är listan över returnerade tidsluckor tom. Det är falskt som standard.
ConsiderAppointments Boolean Inga Ange till Sant för API:et om sökning efter resurstillgänglighet ska ta hänsyn till befintliga avtalade tider i Dataverse som bokningar för resursen, förutsatt att inställningarna för organisation och resursnivå har angetts. Avtalade tider med statusen Upptagen och Slutfört kommer att betraktas som otillgänglig för schemaläggning.

Utdata

Returer Name(Type) Beskrivning
Tidsluckor (lista<OutputTimeSlot>) Starttid (DateTime) Starttiden.
Sluttid (DateTime) Sluttiden.
Ankomsttid (DateTime) Ankomsttiden.
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • Avstånd (dubbel)
  • TravelTime (dubbel)
  • DistanceFromStartLocation (dubbel)
  • TravelTimeToEndLocation (dubbel)
Reseinformation om tidslucka. Finns bara om resurskravet innehåller värden för latitud och longitud.
Insats (dubbel) Insats/kapacitet.
IsDuplicate (boolesk) Ett booleskt värde som anger om en tidslucka är en dubblett.
Resource(OutputResource)

OutputResource
  • Resurs (BookableResource)
  • TotalAvailableTime (dubbel)
Entitet för resursen enligt förklaringen i den här artikeln.
Location(OutputTimeSlotLocation)

OutputTimeSlotLocation:
  • WorkLocation (uppräkning):
    • På plats (0)
    • Lokal (1)
    • Platsberoende (2)

  • LocationSourceSlot (uppräkning):
    • Gemensam (1)
    • Anpassad GPS-enhet (2)
    • Mobilgranskning (3)
Entiteten innehåller information om platsen för en tidslucka. Mer information finns i TimeSlotLocation i den här artikeln.
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup:
  • TimeGroupId (Guid)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (DateTime)
  • TimeGroupDetailEndTime (DateTime)
Entiteten innehåller information om en tidsgrupp. Mer information finns i TimeSlotTimeGroup i den här artikeln.
TillgängligaIntervaller (List<<Guide>OutputTimeSlot>) En samling med tillgängliga intervall.
Resurser (List<OutputResource>) Resurs (EntityReference) En entitetsreferens till den bokningsbara resursen.
Affärsenhet (EntityReference) En entitetsreferens till den bokningsbara resursgruppen.
OrganizationalUnit (EntityReference) En entitetsreferens till organisationsenheten.
ResourceType (heltal) Resurstypen. Mer information om möjliga värden finns i attributet resourcetype för BookableResource-entiteten.
PoolId (Guid) ID för den pool som resursen är medlem i under tiden för tidsluckan.
CrewId (guid) ID för den besättning som resursen är medlem i under tiden för tidsluckan.
E-post (sträng) Resursens e-postadress.
Telefon (sträng) Resursens telefonnummer.
ImagePath (sträng) Sökvägen till resursens bild.
Krav (List<OutputRequirements>) Krav (EntityReference) En entitetsreferens till post för resurskrav.
ConstraintBag (sträng) Kravbegränsning i ufx påse (intern)
Resurser (List<<EntityReference>EntityReference>) Entitetens referenslista över resurser som är tillgängliga för kraven.
ProposalResourceAssignmentSets (Lista<OutputProposalResourceAssignmentSet>) IntervalStart (DateTime) Starttid för varje resurstilldelningsuppsättning för förslag.
ProposalResourceAssignments (Lista<OutputProposalResourceAssignments>

OutputProposalResourceAssignments:
  • RequirementId (Guid)
  • ResourceId (Guid)
Resurslista tilldelad för krav.
PagingInfos (OutputPagingInfo) MoreResults (boolesk) Om det finns fler resultat eller inte.
PagingCookie (sträng) Cookie för sidväxling som kan användas i framtida sökningar.

Exempel på nyttolast

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

Exempelsvar

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

Skapa boknings-API för kravgrupp

Använd följande indata- och utdataparametrar för Skapa bokning av kravgrupp (msdyn_CreateRequirementGroupBookings) API.

Parametrar

Namn Typ Obligatorisk Beskrivning
Version: Sträng Ja Versionsnummer för API. Versionsnumret anger vilken version av API:en som ska anropas. Versionsnumret är ett semantiskt versionsnummer av formatet major.minor.patch. Förfrågan behöver inte innehålla det fullständiga versionsnumret.
RequirementGroup EntityReference Ja En entitetsreferens till entiteten kravgrupp, är vanligtvis är en GUID, enligt följande exempel.
Börja DateTime Ja Starttiden för tidsluckan.
Tidslängd Integer Ja Varaktighet för bokningen som ska skapas.
ResourceAssignments EntityCollection Ja Det är en entitetssamling med resurstilldelningar som ska skapas för att bokningarna ska kunna skapas. Mer information finns i tabellen entiteten resurstilldelning

Resurstilldelningar

Namn Typ Obligatorisk Beskrivning
RequirementId GUID Ja Resurskrav-ID för kravet som bokningsposten ska skapas för.
ResourceId GUID Ja Det bokningsbara resurs-ID för resursen som du vill skapa en bokning för.
BookingStatusId GUID Ja Bokningsstatus-ID för bokningen som ska skapas.
Insats Integer Inga Kapaciteten för den bokningsbara resurs som den här bokningen förbrukar.
TravelTime Integer Inga Restiden i minuter.

Utdata

Returnerar HandlerExecuted som är av boolesk typ.