Søge efter ledige ressourcer og oprette reservationer for kravsgrupper

Brug Hent ressourcetilgængelighed for kravsgruppe-API og Opret kravsgruppereservationer-API til at reservere de ressourcer, der opfylder de behov, du har identificeret i kravsgrupperne.

Du kan overføre oplysningerne om en kravsgruppe i API-kald og hente en liste over tilgængelige ressourcer og deres ledige tidsrubrikker. Denne liste er nyttig i forbindelse med selvplanlægningsscenarier, hvor en bruger ønsker at se tilgængeligheden af ressourcer, eller for portalplanlægningsscenarier, hvor en kunde ønsker at se ressourcetilgængeligheden fra et websted eller en app.

På tidspunktet for skrivning er v1 den nyeste version af msdyn_SearchResourceAvailabilityForRequirementGroup og understøtter web-API-kald.

API'en Hent ressourcetilgængelighed for kravsgruppe

Brug følgende input- og outputparametre til API'en Hent ressourcetilgængelighed for kravsgruppe (msdyn_SearchResourceAvailabilityForRequirementGroup).

Parametre

Navn Type Krævet Beskrivelse
Version Streng Nej Versionsnummeret på API'en identificerer den version af API'en, der skal aktiveres. Den følger formatet af major.minor.patch.

  • Hvis der ikke leveres nogen version, bruges den nyeste (anbefales)
  • Hvis der kun angives en overordnet version, aktiveres den højeste underordnede version og programrettelsesversionen, der er tilgængelig for den overordnede version.
  • Hvis der angives både overordnede og underordnede versioner, aktiveres den højeste tilgængelige programrettelsesversion.
  • Hvis alle tre dele af versionen nævnes, aktiveres den angivne nøjagtige version af API'en.
  • RequirementGroup Ja En objektreference til objektet kravsgruppe.
    RequirementSpecification Integer Nej Hvis den er angivet til null, respekteres som standard den målrettede kravsgruppes varighed.
    Indstillinger Entity<InputSettings> Nej Angiver indstillingerne for anmodningen.

    Input

    Navn Type Krævet Beskrivelse
    ConsiderSlotsWithLessThanRequiredDuration Boolean Nej Angiver, om en tidsrubrik med en varighed, der er mindre end den resterende krævede varighed, skal tages i betragtning ved beregning af potentielle tidsrubrikker. Den er som standard falsk.
    ConsiderSlotsWithOverlappingBooking Boolean Nej Angiver, om en tidsrubrik med overlappende reservationer skal overvejes ved beregning af potentielle tidsrubrikker. Den er som standard falsk.
    ConsiderSlotsWithProposedBooking Boolean Nej Angiver, om tidsrubrikker med de foreslåede reservationer skal tages i betragtning ved beregning af potentielle tidsrubrikker. Den er som standard falsk.
    MaxResourceTravelRadius Afstand Nej Angiver den maksimale rejseradius for ressourcer ved beregning af ledige tidsrubrikker.
    SortOrder Integer Nej Angiver kravsgrupperækkefølgen for svaret.
    PageSize Integer Nej Antallet af elementer, der returneres på en side. Den er som standard 20.
    PagingCookie Streng Nej Sidefordelingscookie hentet fra tidligere søgeresultat.
    OrganizationUnits Liste<Guid> Nej En samling af organisationsenheds-id'er. En kvalificeret ressource skal være medlem af en af de angivne organisationsenheder.
    MustChooseFromResources Liste<Guid> Nej Evaluer og vælg resultater fra ressourcer på denne liste.
    RequiredResources Liste<Guid> Nej Evaluer alle ressourcer, og filtrer resultaterne på baggrund af denne liste. Generelt skal du bruge MustChooseFromResources i stedet for forbedret ydeevne.
    IgnoreTimeSlots Boolean Nej Angiver, om det returnerede tidsrum skal ignoreres. Når den er sand, er listen over returnerede tidsrubrikker tom. Den er som standard falsk.
    ConsiderAppointments Boolean Nej Angiv til sand for søgning i ressourcetilgængeligheds-API for at respektere eksisterende Dataverse-aftaler som reservationer på ressourcen, forudsat at indstillingerne på organisations- og ressourceniveau er angivet. Aftaler med statussen Optaget eller Fuldført betragtes som ikke tilgængelige for planlægningshandlinger.

    Output

    Returvarer Navn (Type) Beskrivelse
    TimeSlots (Liste<OutputTimeSlot>) StartTid (DateTime) Starttidspunktet.
    Sluttid (DateTime) Sluttidspunktet.
    Ankomsttidspunkt (dato/klokkeslæt) Ankomsttidspunktet.
    Travel(OutputTimeSlotTravel)

    OutputTimeSlotTravel
    • Afstand (dobbelt)
    • Rejsetid (Dobbelt)
    • DistanceFromStartLocation (Dobbeltværelse)
    • TravelTimeToEndLocation (Dobbeltværelse)
    Rejseoplysninger om tidsrubrik. Findes kun, hvis ressourcekravet indeholder værdier for breddegrad og længdegrad.
    Indsats (dobbelt) Kapacitet i forhold til indsats.
    IsDuplicate (boolesk) En boolesk værdi, der angiver, om tidsrubrikken er en dublet.
    Resource(OutputResource)

    OutputResource
    • Ressource (BookableResource)
    • TotalAvailableTime (Dobbelt)
    Ressourceobjektet som forklaret i denne artikel.
    Location(OutputTimeSlotLocation)

    OutputTimeSlotLocation:
    • Arbejdssted (Enum):
      • På stedet (0)
      • Lokale (1)
      • Placeringsagnostik (2)

    • LocationSourceSlot (Enum):
      • Almindelig (1)
      • Brugerdefineret GPS-objekt (2)
      • Mobil overvågning (3)
    Objektet indeholder detaljer om placeringen af en tidsrubrik. Se TimeSlotLocation i denne artikel for at få flere oplysninger.
    TimeGroup(TimeSlotTimeGroup)

    OutputTimeSlotTimeGroup:
    • TimeGroupId (GUID)
    • TimeGroupDetail (EntityReference)
    • TimeGroupDetailStartTime (DateTime)
    • TimeGroupDetailEndTime (DateTime)
    Objektet indeholder detaljer om en tidsgruppe. Du kan finde flere oplysninger i TimeSlotTimeGroup i denne artikel.
    TilgængeligeIntervaller (List<<Guide>OutputTimeSlot>) En samling tilgængelige intervaller.
    Ressourcer (Liste<OutputRessource>) Ressource (EntityReference) En objektreference til den reserverbare ressource.
    Forretningsenhed (EntityReference) En objektreference til den reserverbare ressourcegruppe.
    Organisatorisk Enhed (EntityReference) En objektreference til afdelingen.
    ResourceType (Int) Ressourcetypen. Se attributten resourcetype på objektet BookableResource for at få vist mulige værdier.
    PoolId (Guid) Id'et for den pulje, som ressourcen er medlem af, under tidsrubrikkens varighed.
    CrewId (Guid) Id'et for det mandskab, som ressourcen er medlem af, under tidsrubrikkens varighed.
    E-mail (streng) Ressourcens mailadresse.
    Telefon (streng) Ressourcens telefonnummer.
    ImagePath (streng) Stien til ressourcens billede.
    Krav (Vis<outputkrav>) Krav (EntityReference) En objektreference til posten Ressourcekrav.
    ConstraintBag (streng) Kravsbegrænsning i ufx-pose (intern)
    Ressourcer (List<<EntityReference>EntityReference>) Objektreferenceliste over ressourcer, der er tilgængelig for kravene.
    ProposalResourceAssignmentSets (Liste<OutputProposalResourceAssignmentSet>) IntervalStart (DateTime) Starttidspunkt for hvert tildelingssæt af forslagsressource.
    ProposalResourceAssignments (Liste<OutputProposalResourceAssignments>

    OutputProposalResourceAssignments:
    • RequirementId (GUID)
    • ResourceId (GUID)
    Liste over ressourcer, der er tildelt til Krav.
    PagingInfos (OutputPagingInfo) MereResultater (boolesk) Om der er flere resultater eller ej.
    PagingCookie (streng) Sideinddelingscookie, der kan bruges til fremtidig søgning.

    Eksempel på nyttedata

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

    Eksempel på svar

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

    API'en Opret kravsgruppereservationer

    Brug følgende input- og outputparametre til API'en Opret kravsgruppereservationer (msdyn_CreateRequirementGroupBookings).

    Parametre

    Navn Type Krævet Beskrivelse
    Version Streng Ja Versionsnummeret på API'en. Versionsnummeret identificerer den version af API'en, der skal kaldes. Versionsnummeret er et semantisk versionsnummer i formatet major.minor.patch. Anmodningen behøver ikke at indeholde det fulde versionsnummer.
    RequirementGroup EntityReference Ja En objektreference til kravsgruppeobjektet, som regel et GUID, som vist i følgende eksempel.
    Start Datetime Ja Starttidspunktet for tidsrubrikken.
    Duration Integer Ja Varigheden af reservationen, der skal oprettes.
    ResourceAssignments EntityCollection Ja Det er en objektsamling af de ressourcetildelinger, der skal foretages for at oprette reservationer. Se objekttabellen Ressourcetildelinger for at få flere oplysninger

    Ressourcetildelinger

    Navn Type Krævet Beskrivelse
    RequirementId GUID Ja Ressourcekravets id for det krav, som reservationsposten skal oprettes for.
    ResourceId GUID Ja Det reserverbare ressource-id for den ressource, du vil oprette reservationen for.
    BookingStatusId GUID Ja Reservationsstatus-id'et for den reservation, der skal oprettes.
    Indsats Integer Nej Kapaciteten af den reserverbare ressource, der forbruges af denne reservation.
    TravelTime Integer Nej Rejsetiden i minutter.

    Output

    Returnerer HandlerExecuted som boolesk type.