Compartilhar via


Procure a disponibilidade de recursos e crie reservas para grupos de requisitos

Use a API Pesquisar Disponibilidade dos Recursos do Grupo de Requisitos e a API Criar Reservas de Grupo de Requisitos para reservar os recursos que atendam às necessidades identificadas nos seus grupos de requisitos.

Você passa os detalhes de um grupo de requisitos em suas chamadas de API e recupera uma lista de recursos disponíveis e intervalos de horários disponíveis. Essa lista é útil para cenários de agendamento automático, nos quais um usuário deseja exibir a disponibilidade de recursos, ou para cenários de agendamento de portal em que um cliente deseja exibir a disponibilidade de recursos em um site ou aplicativo.

No momento em que este artigo foi escrito, v1 é a versão mais recente do msdyn_SearchResourceAvailabilityForRequirementGroup e oferece suporte a chamadas de API da web.

Pesquisar Disponibilidade dos Recursos para API do Grupo de Requisitos

Use os parâmetros de entrada e saída a seguir para Pesquisar Disponibilidade dos Recursos para API do Grupo de Requisitos (msdyn_SearchResourceAvailabilityForRequirementGroup).

Parâmetros

Nome Tipo Obrigatório Descrição
Versão Cadeia de caracteres Sim O número da versão da API. O número da versão identifica a versão da API que deve ser chamada. O número da versão é um número de versão semântica no formato major.minor.patch. A solicitação não precisa conter o número completo da versão.
RequirementGroup Sim Uma referência de entidade à entidade do grupo de requisitos.
RequirementSpecification Integer Não Se ficar nulo, respeitará a duração do grupo de requisitos de direcionamento por padrão.
Configurações Entity<InputSettings> Não Define as configurações da solicitação.

Entrada

Nome Tipo Obrigatório Descrição
ConsiderSlotsWithLessThanRequiredDuration booleano Não Especifica se um intervalo de tempo com menos do que a duração restante necessária deve ser considerado ao calcular os intervalos de tempo potenciais. É falso por padrão.
ConsiderSlotsWithOverlappingBooking booleano Não Especifica se os intervalos de tempo com reservas sobrepostas devem ser considerados ao calcular possíveis intervalos de tempo. É falso por padrão.
ConsiderSlotsWithProposedBooking booleano Não Especifica se os intervalos de tempo com as reservas propostas devem ser considerados durante o cálculo dos intervalos de tempo potenciais. É falso por padrão.
MaxResourceTravelRadius Distância Não Especifica o raio de viagem máximo para os recursos quando estão computando os slots disponíveis.
SortOrder Integer Não Especifica a ordem do grupo de requisitos para a resposta.
PageSize Integer Não Números de item retornados em uma página. É 20 por padrão.
PagingCookie Cadeia de caracteres Não Cookie de paginação recuperado do resultado de pesquisa anterior.
OrganizationUnits Guid da lista<> Não Uma coleção de IDs de unidades organizações. Um recurso qualificado deve ser membro de uma das unidades organizacionais especificadas.
MustChooseFromResources Guid da lista<> Não Avalie e selecione os resultados dos recursos nesta lista.
RequiredResources Guid da lista<> Não Avalie todos os recursos, filtre os resultados com base nesta lista. Em geral, use MustChooseFromResources para melhorar o desempenho.
IgnoreTimeSlots booleano Não Especifica se os intervalos de tempo retornados devem ser ignorados. Quando true, a lista de intervalos de tempo retornados está vazia. É falso por padrão.
ConsiderAppointments booleano Não Defina como True para API de disponibilidade de recursos de pesquisa para respeitar os compromissos existentes Dataverse como reservas no recurso, desde que as configurações de nível de organização e de recurso estejam definidas. Compromissos com os status ocupado e concluído serão considerados como não disponíveis para operações de agendamento.

Saída

Retorna Name(Type) Descrição
TimeSlots (Lista<OutputTimeSlot>) StartTime (Data/Hora) A hora de início.
Hora de Término (Data/Hora) A hora de término.
ArrivalTime (DateTime) O horário de chegada.
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • Distância (Dupla)
  • Tempo de Viagem (Duplo)
  • DistanceFromStartLocation (Duplo)
  • TravelTimeToEndLocation (Duplo)
As informações de viagem do intervalo de tempo. Só estará presente se o requisito de recurso contiver valores para latitude e longitude.
Esforço (Duplo) O esforço/capacidade.
IsDuplicate (booleano) Um valor booliano que indica se o intervalo de tempo é duplicado.
Resource(OutputResource)

OutputResource
  • Recurso (BookableResource)
  • TotalAvailableTime (Duplo)
A entidade Recurso, conforme explicado neste artigo.
Location(OutputTimeSlotLocation)

OutputTimeSlotLocation:
  • WorkLocation (Enum):
    • No local (0)
    • Instalação (1)
    • Independente de local (2)

  • LocationSourceSlot (enumeração):
    • Comum (1)
    • Entidade de GPS personalizada (2)
    • Auditoria móvel (3)
A entidade contém detalhes sobre a localização de um intervalo de tempo. Para obter informações, confira TimeSlotLocation neste artigo.
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup:
  • TimeGroupId (Guid)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (Data/Hora)
  • TimeGroupDetailEndTime (Data/Hora)
A entidade contém detalhes sobre um grupo de horas. Para obter mais informações, consulte TimeSlotTimeGroup deste artigo.
Intervalos Disponíveis (List<<Guide>OutputTimeSlot>) Uma coleção de intervalos disponíveis.
Recursos (List<OutputResource>) Recurso (EntityReference) Uma referência de entidade para o recurso reservável.
Unidade de Negócios (EntityReference) Uma referência de entidade para o grupo de recursos reserváveis.
OrganizationalUnit (EntityReference) Uma referência de entidade à unidade organizacional.
ResourceType (Int) O tipo de recurso. Consulte o atributo resourcetype na entidade BookableResource para obter valores possíveis.
PoolId (Guid) O ID do pool do qual o recurso é membro durante o intervalo de tempo.
CrewId (Guid) O ID da equipe do qual o recurso é membro durante o intervalo de tempo.
E-mail (cadeia de caracteres) O endereço de email do recurso.
Telefone (cadeia de caracteres) O número de telefone do recurso.
ImagePath (cadeia de caracteres) O caminho para a imagem do recurso.
Requisitos (List<OutputRequirements>) Requisito (EntityReference) Uma referência de entidade para o registro de Requisito de Recurso.
ConstraintBag (cadeia de caracteres) Restrição de requisito no recipiente ufx (interno)
Recursos (List<<EntityReference>EntityReference>) Lista de referência de entidade do recurso que está disponível para os requisitos.
ProposalResourceAssignmentSets (Listar<OutputProposalResourceAssignmentSet>) IntervalStart (DateTime) Hora de início de cada conjunto de atribuições de recursos da proposta.
ProposalResourceAssignments (List<OutputProposalResourceAssignments>)

OutputProposalResourceAssignments:
  • RequirementId (Guid)
  • ResourceId (Guid)
Lista de recursos atribuídos ao requisito.
PagingInfos (OutputPagingInfo) MaisResultados (Booleano) Se houver mais resultados ou não.
PagingCookie (cadeia de caracteres) Cookie de paginação que pode ser usado na pesquisa futura.

Payload de exemplo

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

Exemplo de resposta

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

API de Criação de Reservas do Grupo de Requisitos

Use os parâmetros de entrada e saída a seguir para API de Criação de Reservas do Grupo de Requisitos (msdyn_CreateRequirementGroupBookings).

Parâmetros

Nome Tipo Obrigatório Descrição
Versão Cadeia de caracteres Sim O número da versão da API. O número da versão identifica a versão da API que deve ser chamada. O número da versão é um número de versão semântica no formato major.minor.patch. A solicitação não precisa conter o número completo da versão.
RequirementGroup EntityReference Sim Uma referência de entidade à entidade do grupo de requisitos, em geral um GUID, conforme mostrado no exemplo a seguir.
Iniciada DateTime Sim Horário de início do intervalo de tempo.
Duration Integer Sim A duração da reserva a ser criada.
ResourceAssignments EntityCollection Sim É uma coleção de entidades das Atribuições de Recursos que devem ser feitas para que as Reservas sejam criadas. Consulte a tabela de entidades de Atribuição de Recursos para obter mais detalhes

Atribuições de Recurso

Nome Tipo Obrigatório Descrição
RequirementId GUID Sim A ID de requisito de recurso do Requisito para o qual o registro de reserva deve ser criado.
ResourceId GUID Sim A ID do recurso reservável do Recurso para o qual você deseja criar a reserva.
BookingStatusId GUID Sim A ID do status de reserva da reserva a ser criada.
Esforço Integer Não A capacidade do recurso reservável que é consumido por esta reserva.
TravelTime Integer Não O tempo de viagem em minutos.

Saída

Retorna HandlerExecuted que é do tipo booliano.