Cercare la disponibilità delle risorse e creare prenotazioni per gruppi di requisiti

Utilizza l'API Cerca disponibilità di risorse per il gruppo di requisiti e l'API Crea prenotazioni gruppi di requisiti per prenotare le risorse che soddisfano le esigenze identificate nei gruppi di requisiti.

Trasmetti i dettagli di un gruppo di requisiti nelle chiamate API e recuperi un elenco di risorse disponibili e le relative fasce orarie aperte. Questo elenco è utile per gli scenari di auto-pianificazione, in cui un utente desidera visualizzare la disponibilità delle risorse o per gli scenari di pianificazione del portale in cui un cliente desidera visualizzare la disponibilità delle risorse da un sito Web o un'app.

Al momento della scrittura, v1 è l'ultima versione di msdyn_SearchResourceAvailabilityForRequirementGroup e supporta le chiamate API Web.

API Cerca disponibilità di risorse per il gruppo di requisiti

Utilizza i seguenti parametri di input e output per l'API Cerca disponibilità di risorse per il gruppo di requisiti (msdyn_SearchResourceAvailabilityForRequirementGroup).

Parametri

Nome Tipo Necessario Descrizione
Versione Stringa Il numero di versione dell'API. Il numero di versione identifica la versione dell'API che deve essere invocata. Il numero di versione è un numero di versione semantico in formato major.minor.patch. La richiesta non deve contenere il numero di versione completo.
RequirementGroup Un riferimento all'entità del gruppo di requisiti.
RequirementSpecification Intero No Se lasciato nullo, per impostazione predefinita rispetta la durata del gruppo di requisiti di destinazione.
Impostazioni Entity<InputSettings> No Definisce le impostazioni per la richiesta.

Input

Nome Tipo Necessario Descrizione
ConsiderSlotsWithLessThanRequiredDuration Booleano No Specifica se una fascia oraria con una durata residua inferiore a quella richiesta deve essere considerata quando si calcolano le potenziali fasce orarie. È false per impostazione predefinita.
ConsiderSlotsWithOverlappingBooking Booleano No Specifica se le fasce orarie con prenotazioni sovrapposte devono essere prese in considerazione quando si calcolano fasce orarie potenziali. È false per impostazione predefinita.
ConsiderSlotsWithProposedBooking Booleano No Specifica se le fasce orarie con le prenotazioni proposte devono essere considerate nel calcolo delle potenziali fasce orarie. È false per impostazione predefinita.
MaxResourceTravelRadius Distanza No Specifica il raggio di viaggio massimo per le risorse durante il calcolo delle fasce orarie disponibili.
SortOrder Intero No Specifica l'ordine del gruppo di requisiti per la risposta.
PageSize Intero No Il numero di elementi restituiti in una pagina. Per impostazione predefinita è 20.
PagingCookie Stringa No Il cookie di paging recuperato dal risultato della ricerca precedente.
OrganizationUnits Elenco<Guid> No Una raccolta di ID unità organizzative. Una risorsa qualificata deve essere un membro di una delle unità organizzative specificate.
MustChooseFromResources Elenco<Guid> No Valuta e seleziona i risultati dalle risorse in questo elenco.
RequiredResources Elenco<Guid> No Valuta tutte le risorse, filtra i risultati in base a questo elenco. In generale, usa MustChooseFromResources per migliorare le prestazioni.
IgnoreTimeSlots Booleano No Specifica se gli intervalli di tempo restituiti devono essere ignorati. Se true, l'elenco degli intervalli di tempo restituiti è vuoto. È false per impostazione predefinita.
ConsiderAppointments Booleano No Imposta su True per l'API di ricerca della disponibilità delle risorse in modo da rispettare gli appuntamenti Dataverse esistenti come prenotazioni sulla risorsa, a condizione che siano configurate le impostazioni a livello di organizzazione e risorsa. Gli appuntamenti con stato Occupato e Completato sono considerati non disponibili dalle operazioni di pianificazione.

Output

Resi Name(Type) Descrizione
TimeSlots (Elenco<OutputTimeSlot>) StartTime (DateTime) Ora di inizio.
EndTime (DateTime) Ora di fine.
ArrivalTime (DateTime) L'ora di arrivo.
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • Distanza (doppia)
  • Tempo di viaggio (doppio)
  • DistanceFromStartLocation (Doppio)
  • TravelTimeToEndLocation (Doppio)
Le informazioni di viaggio della fascia oraria. È presente solo se il requisito di risorsa contiene valori di latitudine e longitudine.
Sforzo (Doppio) Lo sforzo/la capacità.
IsDuplicate (booleano) Un valore booleano che indica se la fascia oraria è un duplicato.
Resource(OutputResource)

OutputResource
  • Risorsa (BookableResource)
  • TotalAvailableTime (Doppio)
L'entità Risorsa come spiegato in questo articolo.
Location(OutputTimeSlotLocation)

OutputTimeSlotLocation:
  • WorkLocation (Enum):
    • In loco (0)
    • Struttura (1)
    • Indipendente dalla posizione (2)

  • LocationSourceSlot (Enum):
    • Elementi comuni (1)
    • Entità posizione GPS personalizzata (2)
    • Analisi controllo mobile (3)
L'entità contiene dettagli sulla posizione di una fascia oraria. Per altre informazioni, vedi TimeSlotLocation in questo articolo.
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup:
  • TimeGroupId (Guid)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (DateTime)
  • TimeGroupDetailEndTime (DateTime)
L'entità contiene dettagli su un gruppo di ore. Per ulteriori informazioni, fai riferimento a TimeSlotTimeGroup in questo articolo.
Intervalli disponibili (List<<Guide>OutputTimeSlot>) Una raccolta di intervalli disponibili.
Risorse (List<OutputResource>) Risorsa (EntityReference) Un riferimento entità per la risorsa prenotabile.
BusinessUnit (EntityReference) Un riferimento entità per il gruppo di risorse prenotabili.
OrganizationalUnit (EntityReference) Un riferimento entità per l'unità organizzativa.
ResourceType (Int) Tipo di risorsa. Fai riferimento all'attributo resourcetype nell'entità BookableResource per i possibili valori.
PoolId (Guid) L'ID del pool di cui fa parte la risorsa per la durata dalla fascia oraria.
CrewId (Guid) L'ID del team di cui fa parte la risorsa per la durata dalla fascia oraria.
E-mail (stringa) L'indirizzo e-mail della risorsa.
Telefono (stringa) Il numero di telefono della risorsa.
ImagePath (stringa) Il percorso dell'immagine della risorsa.
Requisiti (List<OutputRequirements>) Requisito (EntityReference) Un riferimento entità per il record Requisito di risorsa.
ConstraintBag (stringa) Vincolo dei requisiti nel contenitore ufx (interno)
Risorse (List<<EntityReference>EntityReference>) Elenco di riferimenti entità della risorsa disponibile per i requisiti.
ProposalResourceAssignmentSets (Elenco<OutputProposalResourceAssignmentSet>) IntervalStart (DateTime) Ora di inizio di ogni set di assegnazioni di risorse proposte.
ProposalResourceAssignments (Elenco<OutputProposalResourceAssignments>

OutputProposalResourceAssignments:
  • RequirementId (Guid)
  • ResourceId (Guid)
Elenco delle risorse assegnate al requisito.
PagingInfos (OutputPagingInfo) MoreResults (booleano) Se ci sono altri risultati o meno.
PagingCookie (stringa) Cookie di paging che può essere utilizzato nelle ricerche future.

Payload di esempio

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

Risposta di esempio

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

API Crea prenotazioni gruppo di requisiti

Utilizza i seguenti parametri di input e output per l'API Crea prenotazioni gruppo di requisiti (msdyn_CreateRequirementGroupBookings).

Parametri

Nome Tipo Necessario Descrizione
Versione Stringa Il numero di versione dell'API. Il numero di versione identifica la versione dell'API che deve essere invocata. Il numero di versione è un numero di versione semantico in formato major.minor.patch. La richiesta non deve contenere il numero di versione completo.
RequirementGroup EntityReference Un riferimento entità per l'entità Gruppo di requisiti, in genere un GUID, come mostrato nell'esempio seguente.
Venga avviato Data/Ora L'ora di inizio della fascia oraria.
Durata Intero La durata della prenotazione da creare.
ResourceAssignments EntityCollection È una raccolta di entità Assegnazioni risorse da effettuare per le prenotazioni da creare. Esamina la tabella di entità Assegnazioni risorse per maggiori dettagli

Assegnazioni risorse

Nome Tipo Necessario Descrizione
RequirementId GUID L'ID del requisito della risorsa del requisito per il quale si deve creare il record di prenotazione.
ResourceId GUID L'ID della risorsa prenotabile della risorsa per cui si desidera creare la prenotazione.
BookingStatusId GUID L'ID stato prenotazione della prenotazione da creare.
Lavoro Intero No La capacità della risorsa prenotabile utilizzata da questa prenotazione.
TravelTime Intero No La durata del viaggio in minuti.

Output

Restituisce HandlerExecuted che è di tipo booleano.