API αναζήτησης διαθεσιμότητας πόρων

Οι οργανισμοί επιτόπιας εξυπηρέτησης πρέπει να προγραμματίσουν την εργασία τους, συχνά μέσω μιας υπηρεσίας εκπρόσωπος απευθείας από τον πελάτη. Η δημιουργία κρατήσεων συνήθως βασίζεται στους πόρους που είναι διαθέσιμοι στην εταιρεία και στις απαιτήσεις της εργασίας.

Όταν χρησιμοποιείτε τουλάχιστον Dynamics 365 Field Service v8.8.43.51 και Universal Resource Scheduling v3.12.46.21 για τον προγραμματισμό εργασίας, χρησιμοποιήστε το API msdyn_SearchResourceAvailability για να ανακτήσετε όλους τους κατάλληλους πόρους για την εργασία, ώστε να μπορείτε να προγραμματίσετε αποτελεσματικά την εργασία. Τη στιγμή της γραφής, το v3 είναι η πιο πρόσφατη έκδοση msdyn_SearchResourceAvailability και υποστηρίζει κλήσεις web API.

Σημείωμα

Χρησιμοποιήστε την πιο πρόσφατη έκδοση του API, καθώς οι παλαιότερες εκδόσεις ενδέχεται να χρησιμοποιούν μεθόδους ελέγχου ταυτότητας που έχουν καταργηθεί.

Παράμετροι εισόδου

Πλήρες όνομα Τύπος Περιγραφή Υποχρεωτικό Προεπιλεγμένος
Έκδοση String Ο αριθμός έκδοσης του API προσδιορίζει την έκδοση του API που πρέπει να καλείται. Ακολουθεί η μορφή του αρχείου major.minor.patch.

  • Εάν δεν παρέχεται έκδοση, χρησιμοποιείται η πιο πρόσφατη (συνιστάται)
  • Αν καθοριστεί μόνο μια κύρια έκδοση, καλεί την έκδοση μεγαλύτερης μικρής έκδοσης και ενημέρωσης κώδικα που είναι διαθέσιμη για τη συγκεκριμένη μείζονα έκδοση.
  • Εάν καθορίζονται και οι δύο μείζονες και ελάσσονες εκδόσεις, καλεί την υψηλότερη διαθέσιμη έκδοση ενημέρωσης κώδικα.
  • Εάν αναφέρονται και τα τρία τμήματα της έκδοσης, καλεί την ακριβή έκδοση του καθορισμένου API.
  • Αρ. Τρέχουσα έκδοση
    IsWebApi Boolean Ορίστε σε True για να χρησιμοποιήσετε τον βοηθό χρονοδιαγράμματος μέσω του web API. Ναι -ΔΙ-
    Απαίτηση Οντότητα Αυτό το χαρακτηριστικό καθορίζει την απαίτηση πόρου για την οποία ανακτάται η διαθεσιμότητα πόρου. Αυτό αναμένεται να είναι μια οντότητα τύπου msdyn_resourcerequirement. Η απαίτηση μπορεί να είναι μια προϋπάρχουσα καρτέλα από τη βάση δεδομένων ή μια καρτέλα που δημιουργείται άμεσα με τους απαραίτητους περιορισμούς. Η οντότητα πρέπει να περιέχει όλα τα συγκεκριμένα στοιχεία που σχετίζονται με την αναζήτησή σας. Το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.msdyn_requirement. Για να συμπληρώσετε τα παρακάτω ορισμένα σημαντικά χαρακτηριστικά:
    1. msdyn_fromdate (DateTime): Απαίτησης από ημερομηνία σε μορφή ISO
    2. msdyn_todate (DateTime): Απαίτησης έως ημερομηνία σε μορφή ISO
    3. msdyn_remainingduration (Ακέραιος): Η υπολειπόμενη διάρκεια της απαίτησης σε λεπτά
    4. msdyn_duration (Ακέραιος): Η συνολική διάρκεια της απαίτησης σε λεπτά
    Ναι -ΔΙ-
    Settings Οντότητα Το χαρακτηριστικό ρυθμίσεων βοηθά στο περαιτέρω φιλτράρισμα των πόρων που ανακτήθηκαν. Καθορίστε τις ρυθμίσεις ως χαρακτηριστικά σε μια τσάντα οντότητας. Ο τύπος της οντότητας δεν έχει σημασία. Μπορείτε να καθορίσετε οποιοδήποτε λογικό όνομα οντότητας. Ναι -ΔΙ-
    ResourceSpecification Οντότητα Ορίστε το resourceSpecification χαρακτηριστικό ως χαρακτηριστικά σε μια τσάντα οντότητας. Το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.expando. Αρ. Κανένας

    Οντότητα "Ρυθμίσεις"

    Η οντότητα ρυθμίσεων δεν είναι μια οντότητα που υπάρχει στο Dataverse. Ωστόσο, είναι μια συλλογή όλων των ακόλουθων χαρακτηριστικών που βοηθά τα αποτελέσματα του φίλτρου API βοηθού χρονοδιαγράμματος. Έτσι, το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.expando.

    Πλήρες όνομα Τύπος Περιγραφή Υποχρεωτικό Προεπιλεγμένος
    ConsiderSlotsWithLessThanRequiredCapacity Boolean Ορίστε αυτό σε True εάν μια υποδοχή χρόνου με μικρότερη χωρητικότητα από την απαιτούμενη (προσπάθεια) πρέπει να θεωρηθεί κατά τον υπολογισμό πιθανών διαθέσιμων υποδοχών χρόνου στο ημερολόγιο του πόρου. Αρ. False
    ConsiderSlotsWithLessThanRequiredDuration Boolean Ορίστε αυτό σε True εάν μια υποδοχή χρόνου με μικρότερη διάρκεια από την απαιτούμενη (προσπάθεια) πρέπει να ληφθεί υπόψη κατά τον υπολογισμό πιθανών διαθέσιμων υποδοχών χρόνου στο ημερολόγιο του πόρου. Αρ. False
    ConsiderSlotsWithOverlappingBooking Boolean Ορίστε αυτό σε True εάν μια υποδοχή χρόνου με αληλλεπικαλυπτόμενες κρατήσεις πρέπει να ληφθεί υπόψη κατά τον υπολογισμό πιθανών διαθέσιμων υποδοχών χρόνου στο ημερολόγιο του πόρου. Αρ. False
    ConsiderSlotsWithProposedBookings Boolean Ορίστε αυτό σε True εάν μια υποδοχή χρόνου με προτεινόμενες κρατήσεις πρέπει να ληφθεί υπόψη κατά τον υπολογισμό πιθανών διαθέσιμων υποδοχών χρόνου στο ημερολόγιο του πόρου. Αρ. False
    ConsiderAppointments Boolean Ορίστε την επιλογή σε Αληθής για API διαθεσιμότητας πόρου αναζήτησης, ώστε να τηρείτε τις υπάρχουσες συναντήσεις Dataverse ως κρατήσεις στον πόρο, με την προϋπόθεση ότι έχουν οριστεί ρυθμίσεις οργανισμού και επιπέδου πόρου. Οι συναντήσεις με καταστάσεις Απασχολημένος ή Ολοκληρώθηκε θεωρούνται μη διαθέσιμες για τον προγραμματισμό λειτουργιών. Αρ. False
    ConsiderTravelTime Boolean Ορίστε αυτό σε True εάν ο χρόνος μετακίνησης πρέπει να εξετάζεται κατά τον υπολογισμό πιθανών υποδοχών χρόνου στο ημερολόγιο του πόρου. Αρ. True
    ExcludeResourceCharacteristics Boolean Ορίστε το σε True για να εξαιρέσετε τα χαρακτηριστικά πόρων για τις χρονοθυρίδες σε απόκριση. Αρ. False
    MovePastStartDateToCurrentDate Boolean Ορίστε αυτό σε True, για να μετακινήσετε μια ημερομηνία έναρξης στο παρελθόν στην τρέχουσα ημερομηνία. Αρ. False
    UseRealTimeResourceLocation Boolean Ορίστε αυτό σε True εάν η τοποθεσία σε πραγματικό χρόνο των πρόων πρέπει να χρησιμοποιηθεί κατά τον υπολογισμό πιθανών υποδοχών χρόνου στο ημερολόγιο του πόρου. Αρ. False
    SortOrder EntityCollection Καθορίστε τη σειρά ταξινόμησης χρησιμοποιώντας μια συλλογή οντοτήτων. Κάθε οντότητα στη συλλογή αντιπροσωπεύει ένα κριτήριο ταξινόμησης και μπορεί να ταξινομήσει Resources μόνο από την απόκριση αλλά όχι TimeSlotsαπό το . Το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.expando. Ακολουθούν τα χαρακτηριστικά που χρειάζεται να συμπληρώσετε:
    1. Όνομα (Συμβολοσειρά): Τα κριτήρια ταξινόμησης
    2. SortOrder (Ακέραιος): Η κατεύθυνση ταξινόμησης (0 για αύξουσα και 1 για φθίνουσα σειρά)
    Αρ. Κανένας
    MaxResourceTravelRadius Οντότητα Αυτό το χαρακτηριστικό καθορίζει το μέγιστο όριο που μπορεί να καθοριστεί σε μια οντότητα. Το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.expando. Ακολουθούν τα χαρακτηριστικά που χρειάζεται να συμπληρώσετε:
    1. Τιμή (Δεκαδικός): Η ακτίνα
    2. Μονάδα (Ακέραιος): Η μονάδα απόστασης. Ανατρέξτε στο σύνολο επιλογών μονάδας msdyn_distance για πιθανές τιμές.
    Αρ. 0 χλμ. Σε αυτήν την περίπτωση, δεν επιστρέφονται πόροι για επιτόπου απαιτήσεις.
    MaxNumberOfResourcesToEvaluate Integer Αυτό το χαρακτηριστικό καθορίζει ένα όριο για τον αριθμό των πόρων που λαμβάνονται υπόψη για την αίτηση. Αρ. Εάν αυτό το χαρακτηριστικό δεν περιλαμβάνεται στην κλήση API, το σύστημα χρησιμοποιεί το όριο ανάκτησης διαθεσιμότητας πόρων από τον ορισμό οντότητας με δυνατότητα προγραμματισμού, όπως ορίζεται στην ενότητα Επεξεργασία ρυθμίσεων για ενεργοποιημένες οντότητες. Εάν συμπεριληφθεί στην κλήση, αντικαθιστά το καθορισμένο όριο ανάκτησης διαθεσιμότητας πόρων.
    ConsiderOutlookSchedules Boolean Ορίστε το σε True εάν πρέπει να ληφθούν υπόψη χρονοδιαγράμματα από Outlook. Διατίθεται μόνο σε εκδόσεις 3.1.0 και νεότερες. Αρ. False

    Οντότητα προδιαγραφών πόρων

    Πλήρες όνομα Τύπος Περιγραφή Υποχρεωτικό Προεπιλεγμένος
    ResourceTypes EntityCollection Αυτό το χαρακτηριστικό καθορίζει τον τύπο πόρου που απαιτείται για την απαίτηση. Χρησιμοποιήστε μια συλλογή οντοτήτων για να καθορίσετε αυτό το χαρακτηριστικό. Κάθε οντότητα στη συλλογή αντιπροσωπεύει έναν τύπο πόρου με δυνατότητα κράτησης. Το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.msdyn_resourceType. Αυτό το χαρακτηριστικό απαιτείται:
    1. Τιμή (Ακέραιος): Η τιμή του συνόλου επιλογών που αντιπροσωπεύει τον τύπο πόρου:
      • 1- Γενικής χρήσης
      • 2- Επαφή
      • 3- Χρήστης
      • 4- Εξοπλισμός
      • 5- Λογαριασμός
      • 6- Επιτελείο
      • 7- Εγκατάσταση
      • 8- Χώροι συγκέντρωσης
    Αρ. Όλοι οι τύποι πόρων εκτός επιτελείων
    PreferredResources EntityCollection Αυτό το χαρακτηριστικό καθορίζει τους πόρους που προτιμώνται για την απαίτηση. Προσθέστε πόρους σε αυτήν τη συλλογή οντοτήτων για να βεβαιωθείτε ότι βρίσκονται στην κορυφή της λίστας των διαθέσιμων πόρων. Ακόμη και οι πόροι που δεν αποτελούν μέρος της συλλογής οντοτήτων βρίσκονται στη λίστα, αλλά μόνο μετά τους προτιμώμενους πόρους. Αρ. Κανένας
    RestrictedResources EntityCollection Αυτό το χαρακτηριστικό καθορίζει τους πόρους που δεν πρέπει να λαμβάνοντα υπόψη για την απαίτηση. Όλες οι χρονοθυρίδες αυτού του πόρου φιλτράρονται από τη λίστα των αποτελεσμάτων από αυτό το API. Αρ. Κανένας
    MustChooseFromResources EntityCollection Αυτό το χαρακτηριστικό καθορίζει τους μόνους πόρους που μπορούν να εμφανίζονται στη λίστα των διαθέσιμων πόρων. Φιλτράρει όλα τα άλλα αποτελέσματα από τη λίστα εξόδου.
    Περιορισμοί Οντότητα Αυτό το χαρακτηριστικό καθορίζει τους πρόσθετους περιορισμούς που θα πρέπει να εφαρμοστούν στην ανάκτηση των διαθέσιμων πόρων. Αρ. Κανένας
    RetrieveResourcesQueryId Guid Το αναγνωριστικό για το ερώτημα ανάκτησης πόρων. Αρ. Το προεπιλεγμένο αναγνωριστικό ερωτήματος ανάκτησης πόρων.
    BookedResourceId Guid Αυτό το χαρακτηριστικό καθορίζει τον πόρο που έχει κρατηθεό τώρα για την απαίτηση. Αρ. Κανένας

    Σημείωμα

    Χρησιμοποιήστε μια συλλογή οντοτήτων οντοτήτων πόρων με δυνατότητα κράτησης για να καθορίσετε τα χαρακτηριστικά πόρων Προτιμώμενος, Περιορισμένος και Υποχρεωτική_επιλογήΑπό . Κάθε οντότητα στη συλλογή αντιπροσωπεύει έναν προτιμώμενο, περιορισμένο ή υποχρεωτικό πόρο. Αυτό το χαρακτηριστικό απαιτείται για αυτούς:

    1. Value (Guid): Το αναγνωριστικό πόρου με δυνατότητα κράτησης του πόρου Preferred, Restricted ή MustChooseFrom . Το @odata.type για αυτήν την οντότητα θα πρέπει να είναι Microsoft.Dynamics.CRM.msdyn_bookableresource.

    Περιορισμοί

    Καθορίστε πρόσθετους περιορισμούς μέσω χαρακτηριστικών σε αυτήν την οντότητα. Ο τύπος της οντότητας δεν έχει σημασία. Μπορείτε να καθορίσετε οποιοδήποτε λογικό όνομα οντότητας.

    Εξετάστε το Ερώτημα ανάκτησης πόρων στις ρυθμίσεις του πίνακα χρονοδιαγράμματος για να προσδιορίσετε τους περιορισμούς που ενδέχεται να ισχύουν. Από προεπιλογή, περιλαμβάνει τα εξής:

    Πλήρες όνομα Τύπος Περιγραφή
    Χαρακτηριστικά EntityCollection Μια συλλογή χαρακτηριστικών που πρέπει να έχει ένας κατάλληλος πόρος. Κάθε καταχώρηση περιέχει ένα characteristic με το χαρακτηριστικό αναγνωριστικό. Προαιρετικά, συμπεριλάβετε ένα ratingvalue με το αναγνωριστικό τιμής αξιολόγησης για να φιλτράρετε τους πόρους κατά ένα συγκεκριμένο επίπεδο επάρκειας.
    Ρόλοι EntityCollection Μια συλλογή αναγνωριστικών ρόλων που πρέπει να έχει ένας κατάλληλος πόρος.
    Περιφέρειες EntityCollection Μια συλλογή αναγνωριστικών περιφέρειας. Ένας κατάλληλος πόρος πρέπει να ανατεθεί σε μία από τις περιφέρειες.
    UnspecifiedTerritory Boolean Σε συνδυασμό με τους περιορισμούς για τις περιφέρειες, καθορίζεται ότι ένας κατάλληλος πρέπει να εκχωρηθεί σε μία από τις περιφέρειες ή σε καμία περιφέρεια.
    OrganizationalUnits EntityCollection Μια συλλογή οργανικών αναγνωριστικών μονάδων. Ένας κατάλληλος πόρος πρέπει να είναι μέλος μίας από τις καθορισμένες οργανικές μονάδες.
    Teams EntityCollection Μια συλλογή αναγνωριστικών ομάδας. Ένας κατάλληλος πόρος πρέπει να ανήκει σε μία από τις ομάδες (προϋποθέτει ότι ο τύπος πόρου είναι χρήστης του συστήματος).
    BusinessUnits EntityCollection Μια συλλογή αναγνωριστικών επιχειρηματικών μονάδων. Ένας κατάλληλος πόρος πρέπει να ανήκει σε μία από τις επιχειρηματικές μονάδες (προϋποθέτει ότι ο πόρος είναι χρήστης του συστήματος).

    Παράμετροι εξόδου

    Στο υψηλότερο επίπεδο, η έξοδος έχει τις εξής τέσσερις παραμέτρους. Τα αποτελέσματα αντιπροσωπεύονται σε συλλογές οντοτήτων και οντότητες. Οι αποκρίσεις μπορεί να μην περιλαμβάνουν όλα τα χαρακτηριστικά που περιγράφονται εδώ ως τιμές null ή τιμές μη ΝΑ που προέρχονται από την απόκριση. Να ελέγχετε πάντα την παρουσία ενός χαρακτηριστικού πριν να προσπαθείτε να αποκτήσετε πρόσβαση σε αυτό.

    Πλήρες όνομα Τύπος Περιγραφή
    TimeSlots EntityCollection Μια συλλογή των αποτελεσμάτων υποδοχής χρόνου. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα οντότητας χρονοθυρίδας .
    Πόροι EntityCollection Μια συλλογή αποτελεσμάτων πόρων. Οι πόροι αντιπροσωπεύονται ως συλλογή οντοτήτων με τα ακόλουθα χαρακτηριστικά:
    1. BookableResource (Οντότητα): Η οντότητα πόρου με δυνατότητα κράτησης που είναι διαθέσιμη για την απαίτηση.
    2. TotalAvailableTime (Double): Ο συνολικός διαθέσιμος χρόνος για την εκτέλεση της απαίτησης από τον πόρο.
    Σχετικά θέματα Οντότητα Οι σχετικοί πόροι αντιπροσωπεύουν πόρους και χρονικές υποδοχές πόρων που δεν έχουν άμεσα εγκριθεί για την απαίτηση που ζητήθηκε, αλλά σχετίζονται. Για παράδειγμα, εάν ένα μέλος του επιτελείου πληροί τις προϋποθέσεις για μια απαίτηση, τότε τα υπόλοιπα μέλη αυτού του προσωπικού θα έχουν σχετικά αποτελέσματα.
    1. Timeslots (EntityCollection): Χρονικές υποδοχές των σχετικών πόρων. Ο ορισμός των υποδοχών χρόνου είναι ίδιος όπως περιγράφεται στην ενότητα με τις υποδοχές χρόνου.
    2. Πόροι (EntityCollection): Οι σχετικοί πόροι. Ο ορισμός των πόρων είναι ίδιος όπως περιγράφεται στον ορισμό χαρακτηριστικού πόρων.
    Εξαιρέσεις Οντότητα Αυτό το χαρακτηριστικό περιέχει πληροφορίες σχετικά με οποιαδήποτε εξαίρεση που έχει συμβεί και πληροφορίες σχετικά με το εάν και όπου περικόπτηκε η αναζήτηση πόρων.
    1. Μήνυμα (Συμβολοσειρά): Μήνυμα εξαίρεσης
    2. ResourcesTruncatedAt (Ακέραιος): Εάν ο αριθμός των πόρων υπερβήκε το όριο ανάκτησης, Ο αριθμός όπου περικόπτονται οι πόροι.

    Οντότητα χρονικών υποδοχών

    Πλήρες όνομα Τύπος Περιγραφή
    Αναγνωριστικό Guid Μοναδικό αναγνωριστικό για την υποδοχή χρόνου
    Τύπος Integer Ο τύπος της χρονικής περιόδου. Μπορεί να είναι μία από τις ακόλουθες τιμές:
    • 0: Διαθέσιμος
    • 1: Προγραμματισμένος
    • 2: Απών
    • 3: Σε διάλειμμα
    ΏραΕκκίνησης DateTime Η ώρα έναρξης της υποδοχη χρόνου. Εάν υπάρχει ταξίδι για την απαίτηση, αυτή η ώρα είναι η ώρα έναρξης του ταξιδιού. Εάν όχι, αυτή η ώρα είναι η ώρα έναρξης της απαίτησης.
    ArrivalTime DateTime Η ώρα άφιξης της υποδοχη χρόνου. Εάν υπάρχει ταξίδι για την απαίτηση, αυτή η ώρα είναι η ώρα έναρξης της απαίτησης, μετά την ολοκλήρωση της διαδρομής. Εάν όχι, είναι ίδια με την ώρα έναρξης της υποδοχής χρόνου.
    EndTime DateTime Η ώρα λήξης της υποδοχής χρόνου.
    Προσπάθεια Integer Η προσπάθεια ή χωρητικότητα του πόρου για την εκτέλεση των απαιτήσεων.
    ResourceRequirement EntityReference Η απαίτηση πόρου για την οποία ανακτώνται υποδοχές χρόνου.
    Πιθανές Boolean Μια δυαδική τιμή που υποδεικνύει εάν η υποδοχή χρόνου έχει τη δυνατότητα να εκπληρώσει τη ζητηθείσα απαίτηση.
    IsDuplicate Boolean Μια δυαδική τιμή που υποδεικνύει εάν η χρονική περίοδος είναι διπλότυπη.
    AllowOverlapping Boolean Μια δυαδική τιμή που υποδεικνύει εάν επιτρέπεται η επικάλυψη.
    Πόρος Οντότητα Ο πόρος στον οποίο ανήκει η υποδοχή χρόνου. Για περισσότερες πληροφορίες, δείτε πόρος υποδοχής χρόνου.
    Τοποθεσία Οντότητα Η θέση έχει τρία χαρακτηριστικά:
    1. Θέση (Οντότητα): Έχει δύο χαρακτηριστικά -
      • Γεωγραφικό πλάτος
      • Γεωγραφικό μήκος
    2. WorkLocation (Ακέραιος): Έχει τρία χαρακτηριστικά -
      • Επιτόπου. Οι επιτόπιες απαιτήσεις αποκλείουν τους τύπους πόρων χώρου συγκέντρωσης και εγκατάστασης από τα αποτελέσματα.
      • Εγκατάσταση
      • Μη καθορισμένη θέση
    3. LocationSourceSlot (Ακέραιος): Η προέλευση των πληροφοριών θέσης έχει τρία χαρακτηριστικά -
      • Κοινή
      • Προσαρμοσμένη οντότητα GPS
      • Έλεγχος φορητής συσκευής
    Ταξίδια Οντότητα Αυτή η οντότητα περιέχει λεπτομέρειες σχετικά με τον χρόνο ταξιδιού και πληροφορίες απόστασης για μια υποδοχή χρόνου. Τα παρακάτω είναι τα χαρακτηριστικά:
    1. Απόσταση (Διπλός): Η απόσταση ταξιδιού
    2. TravelTime (Διπλός): Ο χρόνος ταξιδιού σε λεπτά.
    3. DistanceFromStartLocation (Διπλός): Η απόσταση από τη θέση έναρξης του πόρου.
    4. DistanceFromEndLocation (Διπλός): Η απόσταση από τη θέση τέλους του πόρου.
    5. DistanceMethodSourceSlot (Ακέραιος): Η προέλευση ή ο τύπος υπολογισμού των τιμών απόστασης
      • Υπηρεσία χάρτη
      • Σε ευθεία γραμμή
    Επόμενο Οντότητα Αυτή η οντότητα περιέχει λεπτομέρειες σχετικά με τον χρόνο και την απόσταση ταξιδιού μέχρι την επόμενη κράτηση υποδοχής χρόνου.
    1. NextScheduleLocation (Οντότητα): Η θέση της επόμενης κράτησης. Η οντότητα έχει δύο χαρακτηριστικά:
      • Γεωγραφικό πλάτος
      • Γεωγραφικό μήκος
    2. NextScheduleTravelTime (Ακέραιος): Ο χρόνος ταξιδιού έως την επόμενη κράτηση σε λεπτά.
    Διαθεσιμότητα Οντότητα Οι λεπτομερείς πληροφορίες διαθεσιμότητας για μια υποδοχή χρόνου. Αυτή η οντότητα χρησιμοποιείται με ομάδες χρόνου.
    1. AvailableIntervals (EntityCollection): Μια συλλογή των διαθέσιμων διαστημάτων. Κάθε οντότητα σε αυτήν τη συλλογή περιέχει λεπτομέρειες σχετικά με ένα χρονικό διάστημα ομάδας.
      • StartTime (DateTime): Η ώρα έναρξης.
      • ArrivalTime (DateTime): Η ώρα άφιξης.
      • EndTime (DateTime): Η ώρα λήξης.
      • TimeGroupId (DateTime): Το αναγνωριστικό ομάδας χρόνου.
      • TimeGroupDetailStartTime (DateTime): Η ώρα έναρξης της ομάδας χρόνου.
      • TimeGroupDetailEndTime (DateTime): Η ώρα λήξης της ομάδας χρόνου.
    2. TotalAvailableDuration (Double): Η συνολική διαθέσιμη διάρκεια σε λεπτά.
    3. TotalAvailableTime (Double): Ο συνολικός διαθέσιμος χρόνος που έχει ένας πόρος σε μια μέρα (σε λεπτά).
    TimeGroup Οντότητα Οι λεπτομέρειες σχετικά με μια ομάδα χρόνου.
    1. TimeGroupId (Guid): Το αναγνωριστικό ομάδας χρόνου.
    2. TimeGroupDetail (EntityReference): Μια αναφορά οντότητας στις λεπτομέρειες της ομάδας χρόνου.
    3. TimeGroupDetailStartTime (DateTime): Η ώρα έναρξης της λεπτομέρειας ομάδας χρόνου.
    4. TimeGroupDetailEndTime (DateTime): Η ώρα λήξης της λεπτομέρειας της ομάδας χρόνου.

    Υπόδειξη

    Όταν δημιουργείτε κρατήσεις χρησιμοποιώντας το API, χρησιμοποιήστε το πεδίο Πιθανό που περιγράφεται στον πίνακα. Η μη χρήση αυτού του πεδίου ενδέχεται να οδηγήσει σε επικαλυπτόμενες ή μη κατάλληλες κρατήσεις.

    Πόρος υποδοχής χρόνου

    Πλήρες όνομα Τύπος Περιγραφή
    Πόρος EntityReference Μια αναφορά οντότητας στον πόρο με δυνατότητα κράτησης.
    ResourceGroup EntityReference Μια αναφορά οντότητας στην ομάδα με δυνατότητα κράτησης.
    BusinessUnit EntityReference Μια αναφορά οντότητας στην επιχειρηματική μονάδα.
    OrganizationalUnit EntityReference Μια αναφορά οντότητας στην οργανωτική μονάδα.
    ResourceType Integer Ο τύπος πόρου. Ανατρέξτε στο χαρακτηριστικό ResourceType στην οντότητα BookableResource για πιθανές τιμές.
    PoolId Guid Το αναγνωριστικό του χώρου συγκέντρωσης στον οποίο είναι μέλος ο πόρος κατά τη διάρκεια της χρονικής περιόδου.
    CrewId Guid Το αναγνωριστικό του επιτελείου στον οποίο είναι μέλος ο πόρος κατά τη διάρκεια της χρονικής περιόδου.
    Χαρακτηριστικά EntityCollection Τα χαρακτηριστικά πόρου με δυνατότητα κράτησης. Κάθε οντότητα στη συλλογή περιέχει οντότητες με χαρακτηριστικά και πληροφορίες αξιολόγησης.
    1. Χαρακτηριστικό (EntityReference): Μια αναφορά οντότητας στα χαρακτηριστικά.
    2. RatingId (Guid) Το αναγνωριστικό αξιολόγησης για το χαρακτηριστικό.
    3. RatingName (String): Το όνομα αξιολόγησης.
    4. RatingValue (Ακέραιος): Η τιμή αξιολόγησης.
    HasStartLocation Boolean Μια δυαδική τιμή που υποδεικνύει εάν ο πόρος διαθέτει θέση έναρξης.
    HasEndLocation Boolean Μια δυαδική τιμή που υποδεικνύει εάν ο πόρος διαθέτει θέση λήξης.
    Διεύθυνση ηλεκτρονικού ταχυδρομείου String Η διεύθυνση ηλεκτρονικού ταχυδρομείου του πόρου.
    Αριθμός τηλεφώνου String Ο αριθμός τηλεφώνου του πόρου.
    ImagePath String Η διαδρομή για την εικόνα του πόρου.
    CalendarId Guid Το αναγνωριστικό ημερολογίου του πόρου.

    Παραδείγματα

    Σε αυτό το παράδειγμα, χρησιμοποιείτε την έκδοση 3 του API βοηθού χρονοδιαγράμματος, το οποίο υποστηρίζει κλήσεις API web, για μια απαίτηση με διάρκεια 60 λεπτών. Χρησιμοποιώντας το settings χαρακτηριστικό, φιλτράρετε τα αποτελέσματα. Εξετάζετε δύο τύπους πόρων για τα τελικά αποτελέσματα: 1 και 2 (με άλλα λόγια, γενικό και επαφής).

    {
        "Version": "4",
        "IsWebApi": true,
        "Requirement": {
            "msdyn_fromdate": "2021-07-14T00:00:00Z",
            "msdyn_todate": "2021-07-15T23:59:00Z",
            "msdyn_remainingduration": 60,
            "msdyn_duration": 60,
            "msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
            "@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
        },
        "Settings": {
            "ConsiderSlotsWithProposedBookings": false,
            "MovePastStartDateToCurrentDate": true,
            "@odata.type": "Microsoft.Dynamics.CRM.expando"
        },
        "ResourceSpecification": {
            "@odata.type": "Microsoft.Dynamics.CRM.expando",
            "ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
            "ResourceTypes": [
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "1"
                },
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "2"
                }
            ],
            "Constraints": {
                "@odata.type": "Microsoft.Dynamics.CRM.expando",
                "Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Characteristics": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "characteristic": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
                        },
                        "ratingvalue": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
                        }
                    }
                ],
                "Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Territories": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
                    }
                ],
                "Roles@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Roles": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "value": "76998e42-744c-f011-877d-6045bdfb899e"
                    }
                ]
            }
        }
    }
    
    

    Το ακόλουθο παράδειγμα δείχνει τη σωστή χρήση των συλλογών οντοτήτων. Σε αυτήν την περίπτωση, καθορίζει MustChooseFromResources.

    {
        "Version": "4",
        "IsWebApi": true,
        "Requirement": {
            "msdyn_fromdate": "2021-07-14T00:00:00Z",
            "msdyn_todate": "2021-07-15T23:59:00Z",
            "msdyn_remainingduration": 60,
            "msdyn_duration": 60,
            "msdyn_latitude": 47.64807,
            "msdyn_longitude": -122.41249,
            "msdyn_worklocation": 690970000,
            "msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
            "@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
        },
        "Settings": {
            "ConsiderSlotsWithProposedBookings": false,
            "MovePastStartDateToCurrentDate": true,
            "MaxNumberOfResourcesToEvaluate":500,
            "ConsiderTravelTime": true,
            "MaxResourceTravelRadius": {
                "Value": 20,
                "Unit" : 192350000,
                "@odata.type": "Microsoft.Dynamics.CRM.expando"
            },
            "@odata.type": "Microsoft.Dynamics.CRM.expando"
        },
        "ResourceSpecification": {
            "@odata.type": "Microsoft.Dynamics.CRM.expando",
            "ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
            "ResourceTypes": [
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "1"
                },
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "2"
                }
            ],
            "MustChooseFromResources@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
            "MustChooseFromResources": [
                {
                    "@odata.type": "Microsoft.Dynamics.CRM.expando",
                    "value": "2145a982-f718-ed11-b83e-0022482d79c8"
                }
            ],
            "Constraints": {
                "@odata.type": "Microsoft.Dynamics.CRM.expando",
                "Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Characteristics": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "characteristic": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
                        },
                        "ratingvalue": {
                            "@odata.type": "Microsoft.Dynamics.CRM.expando",
                            "value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
                        }
                    }
                ],
                "Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
                "Territories": [
                    {
                        "@odata.type": "Microsoft.Dynamics.CRM.expando",
                        "value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
                    }
                ]
            }
        }
    }