ค้นหาความพร้อมใช้งานของทรัพยากร และสร้างการจองสำหรับกลุ่มความต้องการ

ใช้ API ของการค้นหาความพร้อมใช้งานของทรัพยากรสำหรับกลุ่มความต้องการ และ API ของการสร้างการจองสำหรับกลุ่มความต้องการ เพื่อจองทรัพยากรที่ตรงกับความต้องการของคุณในกลุ่มความต้องการของคุณ

คุณส่งรายละเอียดของกลุ่มความต้องการในการเรียก API ของคุณ และดึงข้อมูลรายการทรัพยากรที่พร้อมใช้งานและช่วงเวลาที่เปิด รายการนี้มีประโยชน์สำหรับสถานการณ์การจัดกำหนดการด้วยตนเอง ที่ซึ่งผู้ใช้ต้องการดูความพร้อมใช้งานของทรัพยากร หรือสำหรับสถานการณ์การจัดกำหนดการพอร์ทัลที่ซึ่งลูกค้าต้องการดูความพร้อมใช้งานของทรัพยากรจากเว็บไซต์หรือแอป

ในขณะที่เขียน v1 เป็นรุ่นล่าสุดของ msdyn_SearchResourceAvailabilityForRequirementGroup และรองรับการเรียก API ของเว็บ

API การค้นหาความพร้อมใช้งานของทรัพยากรสำหรับกลุ่มความต้องการ

ใช้พารามิเตอร์อินพุตและเอาต์พุตต่อไปนี้สำหรับ API การค้นหาความพร้อมใช้งานของทรัพยากรสำหรับกลุ่มความต้องการ (msdyn_SearchResourceAvailabilityForRequirementGroup)

พารามิเตอร์

ชื่อ ชนิด ที่ต้องการ คำอธิบาย
รุ่น สตริง ใช่ หมายเลขเวอร์ชันของ API หมายเลขเวอร์ชันจะระบุเวอร์ชันของ API ที่ควรเรียกใช้ หมายเลขเวอร์ชันคือหมายเลขเวอร์ชันทางความหมายของรูปแบบ major.minor.patch คำขอไม่จำเป็นต้องมีหมายเลขรุ่นที่สมบูรณ์
RequirementGroup ใช่ การอ้างอิงเอนทิตีไปยังเอนทิตีกลุ่มความต้องการ
RequirementSpecification Integer ไม่ หากปล่อยให้เป็น null จะคำนึงถึงระยะเวลาของกลุ่มความต้องการที่เป็นเป้าหมายตามค่าเริ่มต้น
การตั้งค่า Entity<InputSettings> ไม่ ตั้งค่าการตั้งค่าสำหรับคำขอ

การป้อนข้อมูล

ชื่อ ชนิด ที่ต้องการ คำอธิบาย
ConsiderSlotsWithLessThanRequiredDuration แบบบูลีน ไม่ ระบุว่าควรคำนึงถึงช่วงเวลาที่มีระยะเวลาคงเหลือน้อยกว่าที่กำหนดเมื่อคำนวณช่วงเวลาที่เป็นไปได้หรือไม่ นี่คือ เท็จ โดยค่าเริ่มต้น
ConsiderSlotsWithOverlappingBooking แบบบูลีน ไม่ ระบุว่าควรพิจารณาช่วงเวลาที่มีการจองที่ทับซ้อนกันเมื่อคำนวณช่วงเวลาที่เป็นไปได้หรือไม่ นี่คือ เท็จ โดยค่าเริ่มต้น
ConsiderSlotsWithProposedBooking แบบบูลีน ไม่ ระบุว่าควรพิจารณาช่วงเวลาที่มีการจองที่เสนอเมื่อคำนวณช่วงเวลาที่เป็นไปได้หรือไม่ นี่คือ เท็จ โดยค่าเริ่มต้น
MaxResourceTravelRadius ระยะ ไม่ ระบุรัศมีการเดินทางสูงสุดสำหรับทรัพยากรเมื่อคำนวณช่วงเวลาที่ใช้ได้
SortOrder Integer ไม่ ระบุลำดับกลุ่มความต้องการสำหรับการตอบกลับ
PageSize Integer ไม่ จำนวนรายการที่ส่งคืนในหน้า ซึ่งคือ 20 โดยค่าเริ่มต้น
PagingCookie สตริง ไม่ คุกกี้การแบ่งหน้าที่ดึงข้อมูลจากผลลัพธ์การค้นหาก่อนหน้า
OrganizationUnits รายการ<Guid> ไม่ คอลเลกชันของรหัสหน่วยองค์กร ทรัพยากรที่ผ่านการรับรองจะต้องเป็นสมาชิกของหนึ่งในหน่วยองค์กรที่ระบุ
MustChooseFromResources รายการ<Guid> ไม่ ประเมินและเลือกผลลัพธ์จากแหล่งข้อมูลในรายการนี้
RequiredResources รายการ<Guid> ไม่ ประเมินทรัพยากรทั้งหมด กรองผลลัพธ์ตามรายการนี้ โดยทั่วไป ใช้ MustChooseFromResources แทนเพื่อประสิทธิภาพที่ดีขึ้น
IgnoreTimeSlots แบบบูลีน ไม่ ระบุว่าควรละเว้นช่วงเวลาที่ส่งคืนหรือไม่ เมื่อเป็นจริง รายการของช่วงเวลาที่ส่งคืนจะว่างเปล่า นี่คือ เท็จ โดยค่าเริ่มต้น
ConsiderAppointments แบบบูลีน ไม่ ตั้งค่าเป็น จริง สำหรับการค้นหา API ความพร้อมใช้งานของทรัพยากรเพื่อให้เป็นไปตามการนัดหมาย Dataverse ที่มีอยู่เป็นการจองทรัพยากร โดยมีการตั้งค่าการตั้งค่าระดับองค์กรและทรัพยากร การนัดหมายที่มีสถานะ ไม่ว่าง และ เสร็จสมบูรณ์ จะถือว่าไม่พร้อมใช้งานสำหรับการจัดกำหนดการดำเนินงาน

เอาท์พุท

การคืนสินค้า ชื่อ(ชนิด) คำอธิบาย
TimeSlots (รายการ<OutputTimeSlot>) StartTime (วันที่และเวลา) เวลาเริ่มต้น
สิ้นสุดเวลา (วันที่และเวลา) เวลาสิ้นสุด
เวลามาถึง (DateTime) เวลามาถึง
เดินทาง(OutputTimeSlotTravel)

OutputTimeSlotTravel
  • ระยะทาง (สองเท่า)
  • TravelTime (สองเท่า)
  • DistanceFromStartLocation (สองเท่า)
  • TravelTimeToEndLocation (สองเท่า)
ข้อมูลการเดินทางของช่วงเวลา จะแสดงก็ต่อเมื่อความต้องการทรัพยากรมีค่าสำหรับละติจูดและลองจิจูด
ความพยายาม (สองเท่า) ความพยายาม/ความสามารถ
IsDuplicate (บูลีน) ค่าบูลีนที่ระบุว่าช่วงเวลาซ้ำกันหรือไม่
ทรัพยากร(OutputResource)

OutputResource
  • ทรัพยากร (BookableResource)
  • TotalAvailableTime (สองเท่า)
เอนทิตีทรัพยากรตามที่อธิบายไว้ในบทความนี้
สถานที่ตั้ง(OutputTimeSlotLocation)

OutputTimeSlotLocation:
  • สถานที่ทํางาน (Enum):
    • นอกสถานที่ (0)
    • สิ่งอำนวยความสะดวก (1)
    • การทำงานแบบไม่อิงตำแหน่งที่ตั้ง (2)

  • LocationSourceSlot (อีนัม):
    • ทั่วไป (1)
    • เอนทิตี GPS แบบกำหนดเอง (2)
    • การตรวจสอบมือถือ (3)
เอนทิตีประกอบด้วยรายละเอียดเกี่ยวกับตำแหน่งของช่วงเวลา สำหรับข้อมูลเพิ่มเติม ดูที่ TimeSlotLocation ในบทความนี้
TimeGroup(TimeSlotTimeGroup)

OutputTimeSlotTimeGroup:
  • TimeGroupId (Guid)
  • TimeGroupDetail (EntityReference)
  • TimeGroupDetailStartTime (วันที่และเวลา)
  • TimeGroupDetail สิ้นสุดเวลา (วันที่เวลา)
เอนทิตีประกอบด้วยรายละเอียดเกี่ยวกับกลุ่มเวลา สำหรับข้อมูลเพิ่มเติม โปรดดูที่ TimeSlotTimeGroup ในบทความนี้
ช่วงเวลาที่พร้อมใช้งาน (List<<Guide>OutputTimeSlot>) TimeSlotTimeGroupช่วงเวลาที่พร้อมใช้งาน
ทรัพยากร (List<OutputResource>) ทรัพยากร (EntityReference) การอ้างอิงเอนทิตีไปยังทรัพยากรที่สามารถจองได้
หน่วยธุรกิจ (EntityReference) การอ้างอิงเอนทิตีไปยังกลุ่มทรัพยากรที่สามารถจองได้
OrganizationalUnit (การอ้างอิงเอนทิตี) การอ้างอิงเอนทิตีไปยังหน่วยองค์กร
ประเภททรัพยากร (Int) ชนิดของทรัพยากร ดูแอตทริบิวต์ resourcetype บนเอนทิตี BookableResource สำหรับค่าที่เป็นไปได้
PoolId (Guid) รหัสของพูลที่ทรัพยากรเป็นสมาชิกอยู่สำหรับระยะเวลาของช่วงเวลา
CrewId (คําแนะนํา) รหัสของทีมงานที่ทรัพยากรเป็นสมาชิกอยู่สำหรับระยะเวลาของช่วงเวลา
อีเมล (สตริง) ที่อยู่อีเมลของทรัพยากร
โทรศัพท์ (สตริง) หมายเลขโทรศัพท์ของทรัพยากร
ImagePath (สตริง) พาธไปยังรูปภาพของทรัพยากร
ข้อกำหนด (รายการ<OutputRequirements>) ความต้องการ (EntityReference) การอ้างอิงเอนทิตีไปยังเรกคอร์ดความต้องการทรัพยากร
ConstraintBag (สตริง) ข้อจำกัดของความต้องการในที่เก็บ ufx(ภายใน)
ทรัพยากร (List<<EntityReference>EntityReference>) รายการอ้างอิงเอนทิตีของทรัพยากรที่พร้อมใช้งานไปยังความต้องการ
ProposalResourceAssignmentSets (รายการ<OutputProposalResourceAssignmentSet>) IntervalStart (วันที่และเวลา) เวลาเริ่มต้นสำหรับชุดการมอบหมายทรัพยากรของการประชุมข้อเสนอแต่ละชุด
ProposalResourceAssignments (รายการ<OutputProposalResourceAssignments>

OutputProposalResourceAssignments:
  • RequirementId (Guid)
  • ResourceId (Guid)
รายการทรัพยากรที่กำหนดให้กับความต้องการ
PagingInfos (ข้อมูลการส่งออกข้อมูล) MoreResults (บูลีน) หากมีผลลัพธ์มากขึ้นหรือไม่
PagingCookie (สตริง) คุกกี้การแบ่งหน้าที่สามารถใช้ได้ในการค้นหาในอนาคต

ตัวอย่างส่วนข้อมูล

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

ตัวอย่างการตอบกลับ

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

API การสร้างการจองกลุ่มความต้องการ

ใช้พารามิเตอร์อินพุตและเอาต์พุตต่อไปนี้สำหรับ API การสร้างการจองกลุ่มความต้องการ (msdyn_CreateRequirementGroupBookings)

พารามิเตอร์

ชื่อ ชนิด ที่ต้องการ คำอธิบาย
รุ่น สตริง ใช่ หมายเลขเวอร์ชันของ API หมายเลขเวอร์ชันจะระบุเวอร์ชันของ API ที่ควรเรียกใช้ หมายเลขเวอร์ชันคือหมายเลขเวอร์ชันทางความหมายของรูปแบบ major.minor.patch คำขอไม่จำเป็นต้องมีหมายเลขรุ่นที่สมบูรณ์
RequirementGroup EntityReference ใช่ การอ้างอิงถึงเอนทิตีไปยังเอนทิตีกลุ่มความต้องการมักจะเป็น GUID ดังที่แสดงในตัวอย่างต่อไปนี้
เริ่ม DateTime ใช่ เวลาเริ่มต้นของช่องเวลา
Duration Integer ใช่ ระยะเวลาของการจองที่จะถูกสร้าง
ResourceAssignments EntityCollection ใช่ ซึ่งคือคอลเลกชันเอนทิตีของการมอบหมายทรัพยากรที่จะทำสำหรับการจองที่จะถูกสร้างขึ้น ดูที่ตารางเอนทิตีการกำหนดทรัพยากรสำหรับรายละเอียดเพิ่มเติม

การมอบหมายทรัพยากร

ชื่อ ชนิด ที่ต้องการ คำอธิบาย
RequirementId Guid ใช่ รหัสความต้องการทรัพยากรของความต้องการที่จะมีการสร้างเรคคอร์ดการจอง
ResourceId Guid ใช่ รหัสทรัพยากรที่สามารถจองได้ของทรัพยากรที่คุณต้องการสร้างการจอง
BookingStatusId Guid ใช่ รหัสสถานะการจองของการจองที่จะถูกสร้าง
การดำเนินการ Integer ไม่ ความจุของทรัพยากรที่สามารถจองได้ซึ่งถูกใช้โดยการจองนี้
TravelTime Integer ไม่ เวลาเดินทางในหน่วยนาที

เอาท์พุท

ส่งคืน HandlerExecuted ที่เป็นชนิดบูลีน