Partilhar via


Procurar disponibilidade do recurso e criar reservas para grupo de requisitos

Utilize a API Procurar Disponibilidade de Recursos para Grupo de Requisitos e a API Criar Reservas de Grupo de Requisitos para agendar os recursos que correspondem às necessidades que identificar nos seus grupos de requisitos.

Passa os detalhes de um grupo de requisitos nas chamadas à API e recupera uma lista de recursos disponíveis e os respetivos intervalos de tempo em aberto. Esta lista é útil para cenários de agendamento automático, em que um utilizador pretende ver a disponibilidade de recursos ou para cenários de agendamento de portais em que um cliente pretenda ver a disponibilidade de recursos a partir de um site ou de uma aplicação.

No momento da escrita, v1 é a versão mais recente do msdyn_SearchResourceAvailabilityForRequirementGroup e suporta chamadas à API Web.

API Procurar Disponibilidade de Recursos para Grupo de Requisitos

Utilize os seguintes parâmetros de entrada e saída para a API Procurar Disponibilidade de Recursos para Grupo de Requisitos (msdyn_SearchResourceAvailabilityForRequirementGroup).

Parâmetros

Nome Tipo Necessário Descrição
Versão Cadeia Sim O número de versão da API. O número de versão identifica a versão da API que deve ser invocada. O número de versão é um número de versão semântico do formato major.minor.patch. O pedido não tem de conter o número completo da versão.
RequirementGroup Sim Uma referência de entidade que se refere à entidade do grupo de requisitos.
RequirementSpecification Número inteiro Não Se deixado nulo, respeita a duração do grupo de requisitos de alvo por predefinição.
Definições Entity<InputSettings> Não Define as definições para o pedido.

Entrada

Nome Tipo Necessário Descrição
ConsiderSlotsWithLessThanRequiredDuration booleano Não Especifica se deve considerar-se um período de tempo inferior à duração remanescente necessária para calcular os períodos de tempo potenciais. Por predefinição, é falso.
ConsiderSlotsWithOverlappingBooking booleano Não Especifica se os intervalos de tempo com reservas sobrepostas devem ser considerados quando se calculam intervalos de tempo potenciais. Por predefinição, é falso.
ConsiderSlotsWithProposedBooking booleano Não Especifica se os períodos de tempo com reservas propostas devem ser consideradas ao calcular possíveis períodos de tempo. Por predefinição, é falso.
MaxResourceTravelRadius Distância Não Especifica o raio máximo de viagem para os recursos ao calcular os períodos de tempo disponíveis.
SortOrder Número inteiro Não Especifica a ordem do grupo de requisitos para a resposta.
PageSize Número inteiro Não Números de itens devolvidos numa página. É 20 por predefinição.
PagingCookie Cadeia Não Cookie de paginação recuperado do resultado da procura anterior.
OrganizationUnits Lista<Guid> Não Uma coleção de IDs de unidades organizacionais. Um recurso qualificado tem de ser membro de uma das unidades organizacionais especificadas.
MustChooseFromResources Lista<Guid> Não Avalie e selecione resultados de recursos nesta lista.
RequiredResources Lista<Guid> Não Avalie todos os recursos, filtre os resultados com base nesta lista. Em geral, utilize MustQuenoceSources para um desempenho melhorado.
IgnoreTimeSlots booleano Não Especifica se os intervalos de tempo obtidos devem ser ignorados. Quando verdadeiro, a lista de horários devolvidos está vazia. Por predefinição, é falso.
ConsiderAppointments booleano Não Defina como True para a API de disponibilidade de recursos de pesquisa para respeitar compromissos existentes do Dataverse como reservas no recurso, desde que as definições de organização e nível de recurso estejam definidas. Os compromissos com estados ocupado e concluído são consideradas como não disponíveis para operações de agendamento.

Saída

Devolve Name(Type) Descrição
TimeSlots (Lista<OutputTimeSlot>) StartTime (DateTime) A hora de início.
EndTime (DateTime) A hora de fim.
Hora de Chegada (DateTime) A hora de chegada.
Travel(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • Distância (Duplo)
  • TravelTime (Duplo)
  • DistanceFromStartLocation (Duplo)
  • TravelTimeToEndLocation (Duplo)
As informações de viagem do período de tempo. Só está 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 é um duplicado.
Resource(OutputResource)

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

OutputTimeSlotLocation:
  • Local de Trabalho (Enum):
    • No local (0)
    • Instalações (1)
    • Localização desconhecida (2)

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

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

OutputProposalResourceAssignments:
  • RequirementId (Guid)
  • ResourceId (Guid)
Lista de Recursos atribuídos ao Requisito.
PagingInfos (OutputPagingInfo) MaisResultados (Booleano) Se existem ou não mais resultados.
PagingCookie (String) A paginação de cookies que pode ser utilizada 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
}

Resposta de exemplo

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

API Criar Reservas de Grupo de Requisitos

Utilize os seguintes parâmetros de entrada e saída para a API Criar Reservas de Recursos de Grupo de Requisitos (msdyn_CreateRequirementGroupBookings).

Parâmetros

Nome Tipo Necessário Descrição
Versão Cadeia Sim O número de versão da API. O número de versão identifica a versão da API que deve ser invocada. O número de versão é um número de versão semântico do formato major.minor.patch. O pedido não tem de conter o número completo da versão.
RequirementGroup EntityReference Sim Uma referência de entidade para a entidade do grupo de requisitos, normalmente é um GUID, tal como mostra o exemplo seguinte.
Iniciar DateTime Sim Hora de início do Intervalo de tempo.
Duration Número inteiro Sim A Duração da Reserva a ser criada.
ResourceAssignments EntityCollection Sim Trata-se de uma coleção de entidades das Atribuições de Recursos que devem ser efetuadas para que as Reservas sejam criadas. Consulte a tabela entidades de Atribuição de Recursos para obter mais detalhes

Atribuições de Recursos

Nome Tipo Necessário Descrição
RequirementId GUID Sim O ID do requisito de recurso do Requisito para o qual o registo de reserva deve ser criado.
ResourceId GUID Sim O ID do recurso agendável do Recurso para o qual pretende criar a reserva.
BookingStatusId GUID Sim O ID do estado da reserva da Reserva a ser criada.
Esforço Número inteiro Não A capacidade do Recurso Agendável que esta reserva consome.
TravelTime Número inteiro Não O tempo de viagem em minutos.

Saída

Devolve HandlerExecuted que é do tipo booleano.