Rechercher la disponibilité des ressources et créer des réservations pour les groupes de besoins

Utilisez l’API Rechercher la disponibilité des ressources pour le groupe de besoins et l’API Créer des réservations de groupe de besoins pour réserver les ressources qui répondent aux besoins que vous identifiez dans vos groupes de besoins.

Vous transmettez les détails d’un groupe de besoins dans vos appels d’API et récupérez une liste des ressources disponibles et leurs créneaux ouverts. Cette liste est utile pour les scénarios d’auto-planification, où un utilisateur souhaite afficher la disponibilité des ressources, ou pour les scénarios de planification du portail où un client souhaite afficher la disponibilité des ressources à partir d’un site Web ou d’une application.

Au moment de la rédaction, la v1 est la dernière version de msdyn_SearchResourceAvailabilityForRequirementGroup et prend en charge les appels d’API Web.

Rechercher la disponibilité des ressources pour l’API Groupe de besoins

Utilisez les paramètres d’entrée et de sortie suivants pour l’API Rechercher la disponibilité des ressources pour le groupe de besoins (msdyn_SearchResourceAvailabilityForRequirementGroup).

Paramètres

Nom Type Nécessaire Description
Version Chaîne Oui Le numéro de version de l’API. Le numéro de version identifie la version de l’API qui doit être invoquée. Le numéro de version est un numéro de version sémantique du format major.minor.patch. La demande ne doit pas nécessairement contenir le numéro de version complet.
RequirementGroup Oui Une référence d’entité pour l’entité du groupe d’exigences.
RequirementSpecification Entier Non Si laissé nul, respecte la durée du groupe de besoins de ciblage par défaut.
Configurations Entity<InputSettings> Non Définit les paramètres de la demande.

Entrée

Nom Type Nécessaire Description
ConsiderSlotsWithLessThanRequiredDuration Boolean Non Spécifie si un créneau horaire inférieur à la durée restante requise doit être pris en compte lors du calcul des créneaux horaires potentiels. False est la valeur par défaut.
ConsiderSlotsWithOverlappingBooking Boolean Non Spécifie si les créneaux avec des réservations qui se chevauchent doivent être pris en compte lors du calcul des créneaux potentiels. False est la valeur par défaut.
ConsiderSlotsWithProposedBooking Boolean Non Spécifie si les créneaux horaires avec les réservations proposées doivent être pris en compte lors du calcul des créneaux horaires potentiels. False est la valeur par défaut.
MaxResourceTravelRadius Distance Non Spécifie le rayon de déplacement maximal des ressources lors du calcul des créneaux horaires disponibles.
SortOrder Entier Non Spécifie l’ordre du groupe d’exigences pour la réponse.
PageSize Entier Non Nombre d’articles renvoyés dans une page. Par défaut, la valeur est définie sur 20.
PagingCookie Chaîne Non Cookie de pagination récupéré à partir du résultat de recherche précédent.
OrganizationUnits Lister<GUID> Non Un ensemble d’ID d’unité d’organisation. Une ressource qualifiée doit appartenir à l’une des unités d’organisation spécifiées.
MustChooseFromResources Lister<GUID> Non Évaluez et sélectionnez les résultats des ressources de cette liste.
RequiredResources Lister<GUID> Non Évaluez toutes les ressources, filtrez les résultats en fonction de cette liste. En général, utilisez plutôt MustChooseFromResources pour améliorer les performances.
IgnoreTimeSlots Boolean Non Spécifie si les plages horaires renvoyées doivent être ignorées. Si True, la liste des plages horaires renvoyées est vide. False est la valeur par défaut.
ConsiderAppointments Boolean Non Définissez sur True pour que l’API de recherche de disponibilité des ressources respecte les rendez-vous Dataverse existants en tant que réservations sur la ressource, à condition que les paramètres de l’organisation et du niveau de ressource soient définis. Rendez-vous avec statuts Occupé et Terminé sera considéré comme non disponible par les opérations de planification.

Sortie

Valeur renvoyée Name(Type) Description
TimeSlots (Lister<OutputTimeSlot>) StartTime (DateTime) Heure de début.
EndTime (DateTime) Heure de fin.
ArrivalTime (DateTime) L’heure d’arrivée.
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • Distance (double)
  • TravelTime (double)
  • DistanceFromStartLocation (Double)
  • TravelTimeToEndLocation (Double)
Les informations de voyage de la plage horaire. N’est présent que si les besoins en ressources contiennent des valeurs de latitude et de longitude.
Effort (double) L’effort/la capacité.
IsDuplicate (booléen) Valeur booléenne indiquant si le créneau est un doublon.
Resource(OutputResource)

OutputResource
  • Ressource (BookableResource)
  • TotalAvailableTime (Double)
L’entité Ressource comme expliqué dans cet article.
Location(OutputTimeSlotLocation)

OutputTimeSlotLocation :
  • WorkLocation (Enum) :
    • Sur site (0)
    • Établissement (1)
    • Emplacement non spécifié (2)

  • LocationSourceSlot (Enum) :
    • Éléments communs (1)
    • Entité GPS personnalisée (2)
    • Audit mobile (3)
L’entité contient des détails sur l’emplacement d’un créneau. Pour plus d’informations, consultez TimeSlotLocation dans cet article.
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup :
  • TimeGroupId (Guid)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (DateTime)
  • TimeGroupDetailEndTime (DateTime)
L’entité contient des détails sur un groupe d’heures. Pour en savoir plus, consultez TimeSlotTimeGroup dans cet article.
Intervalles disponibles (List<<Guide>OutputTimeSlot>) Collection d’intervalles disponibles.
Ressources (Lister<OutputResource>) Ressource (EntityReference) Référence d’entité à la ressource réservable.
Unité commerciale (EntityReference) Référence d’entité au groupe de ressources réservables.
Unité organisationnelle (EntityReference) Référence d’entité à l’unité d’organisation.
ResourceType (Int) Le type de ressource. Voir l’attribut resourcetype sur l’entité BookableResource pour les valeurs possibles.
PoolId (Guid) ID du groupe auquel la ressource appartient pour la durée du créneau.
CrewId (Guid) ID de l’équipe auquel la ressource appartient pour la durée du créneau.
E-mail (chaîne) Adresse e-mail de la ressource.
Téléphone (chaîne) Numéro de téléphone de la ressource.
ImagePath (chaîne) Chemin d’accès à l’image de la ressource.
Exigences (Lister<OutputRequirements>) Besoin (EntityReference) Référence d’entité à l’enregistrement Besoin en ressource.
ConstraintBag (chaîne) Contrainte de besoin dans le conteneur ufx (interne)
Ressources (List<<EntityReference>EntityReference>) Liste de référence d’entité de ressource disponible pour les besoins.
ProposalResourceAssignmentSets (Lister<OutputProposalResourceAssignmentSet>) IntervalStart (DateTime) Heure de début pour chaque ensemble d’affectation de ressources de proposition.
ProposalResourceAssignments (Lister<OutputProposalResourceAssignments>

OutputProposalResourceAssignments :
  • RequirementId (Guid)
  • ResourceId (Guid)
Liste des ressources affectées au besoin.
PagingInfos (sortiePagingInfos) MoreResults (booléen) S’il y a plus de résultats ou non.
PagingCookie (chaîne) Cookie de pagination pouvant être utilisé lors de recherches futures.

Exemple de charge utile

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

Exemple de réponse

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

Créer une API Réservations de groupe de besoins

Utilisez les paramètres d’entrée et de sortie suivants pour l’API Créer des réservations pour le groupe de besoins (msdyn_CreateRequirementGroupBookings).

Paramètres

Nom Type Nécessaire Description
Version Chaîne Oui Le numéro de version de l’API. Le numéro de version identifie la version de l’API qui doit être invoquée. Le numéro de version est un numéro de version sémantique du format major.minor.patch. La demande ne doit pas nécessairement contenir le numéro de version complet.
RequirementGroup EntityReference Oui Une référence d’entité à l’entité Groupe de besoins est généralement un GUID, comme illustré dans l’exemple suivant.
Démarrer DateHeure Oui Heure de début du créneau.
Duration Entier Oui Durée de la réservation à créer.
ResourceAssignments EntityCollection Oui Il s’agit d’une collection d’entités des affectations de ressources à effectuer pour les réservations à créer. Consulter le tableau d’entité Affectation des ressources pour plus de détails

Attributions de ressources

Nom Type Nécessaire Description
RequirementId Guid Oui ID de besoin en ressources du besoin pour lequel l’enregistrement de réservation doit être créé.
ResourceId Guid Oui ID de ressource réservable de la ressource pour laquelle vous souhaitez créer la réservation.
BookingStatusId Guid Oui ID du statut de réservation de la réservation à créer.
Effort Entier Non La capacité de la ressource réservable consommée par cette réservation.
TravelTime Entier Non Temps de trajet en minutes.

Sortie

Renvoie la valeur HandlerExecuted de type booléen.