Jaa


Resurssin käytettävyyden ohjelmointirajapinnan hakeminen

Kenttäpalveluorganisaatioiden on aikataulutettava työt, usein suoraan asiakkaan toimesta palvelun asiakaspalvelijan kautta. Varausten luonti perustuu yleensä yrityksen käytettävissä olevien resurssien ja työn vaatimuksiin.

Kun käytät vähintään Dynamics 365 Field Service v8.8.43.51 ja Universal Resource Scheduling v3.12.46.21 työn aikatauluttamiseen, käytä msdyn_SearchResourceAvailability API:a hakeaksesi kaikki työn kelvolliset resurssit, jotta voit ajoittaa työn tehokkaasti. Kirjoitushetkellä v3 on uusin versio msdyn_SearchResourceAvailability ja tukee web-API-kutsuja.

Muistiinpano

Käytä API:n uusinta versiota, sillä vanhemmat versiot saattavat käyttää vanhentuneita todennusmenetelmiä.

Syöteparametrit

Name Type Description Pakolliset Oletus
Versio String Ohjelmointirajapinnan versionumero määrittää sen ohjelmointirajapinnan version, joka tulisi käynnistää. Se noudattaa major.minor.patch-tiedoston muotoa. Pyynnön ei tarvitse sisältää täydellistä versionumeroa.

  • Jos vain pääversio on määritetty, se käynnistää suurimman ali- ja patch-version, joka on käytettävissä pääversiossa.
  • Jos sekä pää- että aliversiot on määritetty, se käynnistää suurimman saatavilla olevan patch-version.
  • Jos kaikki version kolme osaa mainitaan, se käynnistää määritetyn ohjelmointirajapinnan tarkan version.
  • Kyllä
    IsWebapi totuusarvo Aseta True-tilaan käyttää aikatauluavustajaa web-API:n kautta. Kyllä
    Vaatimus Entity Tämä määrite määrittää resurssin tarpeen, jota varten resurssin käytettävyys noudetaan. Tämän odotetaan olevan tyypin msdyn_resourcerequirement entiteetti. Vaatimus voi olla aiemmin luotu tietokantatietue tai sellainen, joka on luotu lennossa tarvittavin rajoituksin. Entiteetin on sisällettävä kaikki haun kannalta tärkeät tiedot. Tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.msdyn_requirement. Seuraavassa muutamia tärkeitä täytettäviä ominaisuuksia:
    1. msdyn_fromdate (DateTime): Vaatimuksen alkamispäivämäärä ISO-muodossa
    2. msdyn_todate (DateTime): Vaatimuksen päättymispäivämäärä ISO-muodossa
    3. msdyn_remainingduration (kokonaisluku): Tarpeen jäljellä oleva kesto minuutteina
    4. msdyn_duration (kokonaisluku): Tarpeen koko kesto minuutteina
    Kyllä
    Asetukset Entity Asetusmäärite auttaa suodattamaan haettuja resursseja lisää. Määritä asetukset attribuuteina entiteettipussissa. Entiteetin tyypillä ei ole väliä. Voit määrittää minkä tahansa entiteetin loogisen nimen. Kyllä
    ResourceSpecification Entity Määrittele attribuutit resourceSpecification entiteettipussissa. Tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.expando. No Ei mikään

    Asetukset-entiteetti

    Asetusentiteetti ei ole entiteetti, joka on Dataversessä. Se on kuitenkin kaikkien seuraavien määritteiden kokoelma, joka auttaa aikatauluavustajan ohjelmointirajapinnan suodattamisen tuloksissa. Näin ollen tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.expando.

    Name Type Description Pakolliset Oletus
    ConsiderSlotsWithLessThanRequiredCapacity totuusarvo Aseta arvoksi Tosi, jos kapasiteettia (työmäärää) pienempi aikapaikka on otettava huomioon laskettaessa mahdollisia käytettävissä olevia aikoja resurssin kalenterissa. No Väärin
    ConsiderSlotsWithLessThanRequiredDuration totuusarvo Aseta arvoksi Tosi, jos kapasiteettia (työmäärää) pienempi kesto on otettava huomioon laskettaessa mahdollisia käytettävissä olevia aikoja resurssin kalenterissa. No Väärin
    ConsiderSlotsWithOverlappingBooking totuusarvo Aseta arvoksi Tosi, jos aikaväli, jossa on päällekkäisiä varauksia, tulisi ottaa huomioon laskettaessa mahdollisia käytettävissä olevia aikavälejä resurssin kalenterissa. No Väärin
    ConsiderSlotsWithProposedBookings totuusarvo Aseta arvoksi Tosi, jos aikaväli, jossa on ehdotettuja varauksia, tulisi ottaa huomioon laskettaessa mahdollisia käytettävissä olevia aikavälejä resurssin kalenterissa. No Väärin
    ConsiderAppointments totuusarvo Kun tämän arvoksi määritetään Tosi resurssien saatavuushaun ohjelmointirajapinnassa, aiemmin luodut Dataverse-tapaamiset katsotaan varauksiksi resurssissa, kunhan organisaatio- ja resurssitason asetukset on määritetty. Ajanvaraukset, joiden tila on Varattu tai Valmis , katsotaan pois käytettävistä operaatioiden aikatauluttamiseksi. No Väärin
    ConsiderTravelTime totuusarvo Aseta arvoksi Tosi, jos matkustusaika tulisi ottaa huomioon laskettaessa mahdollisia aikavälejä resurssin kalenterissa. No Oikein
    ExcludeResurssiOminaisuudet totuusarvo Aseta tämä True-arvoon poissulkeaksesi resurssiominaisuudet aikaväleille vastauksena. No Väärin
    MovePastStartDateToCurrentDate totuusarvo Aseta arvoksi Tosi, jos haluat siirtää menneet alkamispäivämäärän nykyiseen päivämäärään. No Väärin
    UseRealTimeResourceLocation totuusarvo Aseta arvoksi Tosi, jos resurssien reaaliaikaista sijaintia tulisi käyttää laskettaessa mahdollisia aikavälejä resurssin kalenterissa. No Väärin
    SortOrder EntityCollection Määritä lajittelujärjestys entiteettikokoelman avulla. Kukin kokoelman entiteetti edustaa yhtä lajitteluehtoa, ja se voi lajitella Resources vain vastauksesta, mutta ei TimeSlots. Tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.expando. Täytä seuraavat määritteet:
    1. Nimi (merkkijono): lajitteluehdot
    2. SortOrder (kokonaisluku): lajittelusuunta (0 nousevalle ja 1 laskevalle)
    No Ei mikään
    MaxResourceTravelRadius Entity Tämä määrite määrittää suurimman sallitun entiteetissä määritettävän arvon. Tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.expando. Täytä seuraavat määritteet:
    1. Arvo (desimaaliluku): ansainta
    2. Yksikkö (kokonaisluku): etäisyysyksikkö. Katso msdyn_distance-osioasetusjoukon mahdolliset arvot.
    No 0 km. Jos näin on, resursseja ei palauteta asiakkaan tiloissa käytettäväksi.
    MaxNumberOfResourcesToEvaluate Integer Tämä määrite määrittää pyynnössä huomioon otettavan resurssien määrän rajan. No Jos tätä attribuuttia ei sisällytetä API-kutsuun, järjestelmä käyttää Resource Availability Retrieval Limitiä skeedulable-entiteettimääritelmästä, kuten on määritelty Edit settings for enabled entities -asetuksissa. Jos se sisältyy kutsuun, se korvaa määritetyn resurssin käytettävyyden noutorajan.
    ConsiderOutlookSchedules totuusarvo Aseta tämä True jos Outlook:n aikataulut kannattaa ottaa huomioon. Saatavilla vain versioissa 3.1.0 ja uudemmissa versioissa. No Väärin

    Resurssimääritysentiteetti

    Name Type Description Pakolliset Oletus
    ResourceTypes EntityCollection Tämä määrite määrittää tarpeen edellyttämän resurssityypin. Käytä entiteettikokoelmaa tämän attribuutin määrittämiseen. Kukin kokoelman entiteetti vastaa yhtä varattavissa olevaa resurssityyppiä. Tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.msdyn_resourceType. Tämä attribuutti vaaditaan:
    1. Arvo (kokonaisluku): asetusjoukon resurssityyppiä vastaava arvo:
      • 1‑ Yleinen
      • 2‑ Yhteyshenkilö
      • 3‑ Käyttäjä
      • 4‑ Välineet
      • 5‑ Asiakas
      • 6‑ Henkilöstö
      • 7‑ Tila
      • 8‑ Poolit
    No Kaikki resurssityypit paitsi henkilöstöt
    PreferredResources EntityCollection Tämä määrite määrittää vaatimukset täyttävät resurssit. Lisää resursseja tähän entiteettikokoelmaan varmistaaksesi, että ne ovat saatavilla olevien resurssien kärjessä. Myös resurssit, jotka eivät kuulu entiteettikokoelmaan, ovat listalla, mutta vain toivottujen resurssien jälkeen. No Ei mikään
    RestrictedResources EntityCollection Tämä määrite määrittää resurssit, joita ei pitäisi ottaa huomioon vaatimuksessa. Kaikki tämän resurssin aikapaikat suodatetaan pois tämän API:n tuloslistalta. No Ei mikään
    MustChooseFromResources EntityCollection Tämä määrite määrittää ainoat resurssit, jotka voivat olla käytettävissä olevien resurssien luettelossa. Se suodattaa pois kaikki muut tulosluettelon tulokset.
    Rajoitteet Entity Tämä määrite määrittää lisärajoitteet, joita tulisi käyttää käytettävissä olevien resurssien noudossa. No Ei mikään
    RetrieveResourcesQueryId GUID-tunnus Nouda resurssit -kyselyn tunnus. No Nouda resurssi -kyselyn oletustunnus.
    BookedResourceId GUID-tunnus Tämä määrite määrittää resurssin, joka on tällä hetkellä varattu vaatimukselle. No Ei mikään

    Muistiinpano

    Käytä varattavien resurssientiteettien kokonaisuutta määrittääksesi Preferred-, Restricted- ja MustChooseFrom-resurssiattribuutit. Jokainen kokoelman entiteetti edustaa yhtä Preferred-, Restricted- tai MustChooseFrom-resurssia . Tämä attribuutti vaaditaan heille:

    1. Value (Guid): Preferred-, Restricted- tai MustChooseFrom-resurssin varattava resurssitunnus. Tämän yksikön @odata.type tulisi olla Microsoft.Dynamics.CRM.msdyn_bookableresource.

    Rajoitteet

    Määritä lisärajoituksia tämän entiteemin attribuuttien kautta. Entiteetin tyypillä ei ole väliä. Voit määrittää minkä tahansa entiteetin loogisen nimen.

    Tarkista aikataulutaulukossa asetusten Nouda resurssit -kyselystä, mitkä rajoitukset voivat olla käytössä. Oletusarvoisesti se sisältää seuraavat:

    Name Type Description
    Ominaisuudet EntityCollection Joukko ominaisuuksia, jotka pätevän resurssin täytyy sisältää. Jokainen merkintä sisältää a characteristic :n, jolla on karakteristiikka-ID. Halutessasi voit lisätä arvon ratingvalue ID:n kanssa suodattamaan resursseja tietyn osaamistason mukaan.
    Roolit EntityCollection Roolitunnusten kokoelma, joka sisältää hyväksytylle resurssille ominaiset tunnukset.
    Alueet EntityCollection Aluetunnusten kokoelma. Hyväksytty resurssi on delegoitava yhteen alueista.
    UnspecifiedTerritory totuusarvo Yhdessä aluerajoituksen kanssa määrittää, että pätevä on osoitettava jollekin alueista tai ei lainkaan aluetta.
    OrganizationalUnits EntityCollection Kokoelma organisaatioyksikkötunnuksia. Hyväksytyn resurssin on oltava yhden määritetyn organisaatioyksikön jäsen.
    Teams EntityCollection Ryhmätunnusten kokoelma. Hyväksytyn resurssin on kuuluttava yhteen ryhmistä (tarkoittaa sitä, että resurssityyppi on järjestelmän käyttäjä).
    BusinessUnits EntityCollection Kokoelma liiketoimintayksiköiden tunnisteita. Hyväksytyn resurssin on kuuluttava yhteen liiketoimintayksiköistä (tarkoittaa sitä, että resurssityyppi on järjestelmän käyttäjä).

    Tulosparametrit

    Ylimmällä tasolla tulos sisältää seuraavat neljä parametria. Tulokset esitetään entiteettikokoelmissa ja entiteetissä. Vastaukset eivät ehkä sisällä kaikkia tässä null-arvoiksi kuvattuja määritteitä, eikä NA-arvoja poisteta vastauksesta. Tarkista aina määritteen läsnäolo, ennen kuin yrität käyttää sitä.

    Name Type Description
    TimeSlots EntityCollection Ajankohtatulosten kokoelma. Lisätietoja on aikavälientiteettiosassa .
    Resurssit EntityCollection Resurssitulosten kokoelma. Resurssit esitetään entiteettien kokoelmana, jolla on seuraavat määritteet:
    1. BookableResource (Entiteetti): Varattavissa oleva resurssientiteetti, joka on käytettävissä vaatimusta varten.
    2. TotalAvailableTime (Double): resurssin käytettävissä oleva kokonaisaika tarpeen suorittamiseen.
    Liittyvät Entity Liittyvät resurssit edustavat niiden resurssien resursseja ja aikoja, joita ei ole suoraan hyväksytty pyydettyä tarvetta varten mutta jotka liittyvät toisiinsa. Jos esimerkiksi joku henkilöstön jäsen täyttää vaatimukset, toinen ryhmän jäsenistä henkilöstössä olisi liittyvä tulos.
    1. Ajat (EntityCollection): liittyvien resurssien ajat. Aikojen määritys on sama kuin mitä ajankohtaosassa on kuvattu.
    2. Resurssit (EntityCollection): Liittyvät resurssit. Resurssien määritelmä on sama kuin resurssimääritteen määrityksessä.
    Poikkeukset Entity Tämä määrite sisältää tietoja siitä, mitä poikkeuksia on tapahtunut, sekä tietoja siitä, onko resurssihaku katkennut ja missä.
    1. Viesti (merkkijono): Poikkeussanoma
    2. ResourcesTruncatedAt (kokonaisluku): Jos resurssien määrä ylitti hakurajoituksen määrän, jossa resurssit katkaistaan.

    Ajankohtaentiteetti

    Name Type Description
    tunnus GUID-tunnus Ajankohdan yksilöllinen tunnus
    Type Integer Aikaväli. Se voi olla yksi seuraavista arvoista:
    • 0: Saatavilla
    • 1: Ajoitettu
    • 2: ei käytössä
    • 3: Tauko
    Aloitusaika DateTime Ajankohdan alkamisaika. Jos matkaa vaaditaan, tämä aika on matkan aloitusaika. Jos ei, tämä aika on vaatimuksen aloitusaika.
    ArrivalTime DateTime Ajankohdan saapumisaika. Jos matkustamista vaaditaan, tämä aika on vaatimuksen aloitusaika matkustuksen jälkeen. Jos näin ei ole, se on sama kuin ajan aloitusaika.
    EndTime DateTime Ajankohdan lopetusaika.
    Työmäärä Integer Resurssin työ tai kyky täyttää vaatimukset.
    ResourceRequirement EntityReference Resurssin tarve, jolle ajat noudetaan.
    Mahdolliset totuusarvo Totuusarvo, joka osoittaa, onko ajassa mahdollista täyttää pyydetty tarve.
    IsDuplicate totuusarvo Totuusarvo ilmaisee, onko ajankohta kaksoiskappale.
    AllowOverlapping totuusarvo Totuusarvo, joka osoittaa, onko päällekkäisyys sallittu.
    Resurssi Entity Resurssi, johon ajankohta kuuluu. Lisätietoja on kohdassa aikaväliresurssit.
    Sijainti Entity Sijainnilla on kolme määritettä:
    1. Sijainti (entiteetti): Siinä on kaksi määritettä :
      • Leveysaste
      • Pituusaste
    2. WorkLocation (kokonaisluku): Siinä on kolme määritettä -
      • Paikan päällä. Paikallisuusvaatimukset jättävät pooli- ja tilaresurssityypit pois tuloksista.
      • Tila
      • Tuntematon sijainti
    3. LocationSourceSlot (kokonaisluku): Sijaintitietojen lähteellä on kolme määritettä -
      • Yleinen
      • Mukautettu GPS-entiteetti
      • Mobiiliseuranta
    Matkustaminen Entity Tämä entiteetti sisältää matka-ajan ja etäisyyden tiedot ajankohdassa. Seuraavat ovat määritteitä:
    1. Matka (Double): matkaväli
    2. TravelTime (Double): matka-aika minuutteina.
    3. DistanceFromStartLocation (Double): Etäisyys resurssin aloitussijainnista.
    4. DistanceFromEndLocation (Double): Etäisyys resurssin lopetussijainnista.
    5. DistanceMethodSourceSlot (kokonaisluku): etäisyysarvojen lähde- tai laskentatyyppi
      • Karttapalvelu
      • Kun korppi lentää
    Seuraava Entity Tämä entiteetti sisältää matka-ajasta ja etäisyydestä seuraavaan saapumispaikkaan tehtyä varausta koskevat tiedot.
    1. NextScheduleLocation (Entiteetti): seuraavan varauksen sijainti. Entiteetissä on kaksi määritettä:
      • Leveysaste
      • Pituusaste
    2. NextScheduleTravelTime (kokonaisluku): Matka-aika seuraavaan varaukseen minuutteina.
    Saatavuus Entity Yksityiskohtaiset käytettävyystiedot ajankohdassa. Tätä entiteettiä käytetään aikaryhmien kanssa.
    1. AvailableIntervals (EntityCollection): Käytettävissä olevien aikavälien kokoelma. Kukin kokoelman entiteetti sisältää aikaryhmän aikavälin tietoja.
      • StartTime (DateTime): Aloitusaika.
      • ArrivalTime (DateTime): Saapumisaika.
      • EndTime (DateTime): Päättymisaika.
      • TimeGroupId (DateTime): Aikaryhmän tunnus.
      • TimeGroupDetailStartTime (DateTime): Aikaryhmän aloitusaika.
      • TimeGroupDetailEndTime (DateTime): Aikaryhmän lopetusaika.
    2. TotalAvailableDuration (Double): Käytettävissä oleva kokonaiskesto minuutteina.
    3. TotalAvailableTime (Double): Resurssin käytettävissä oleva kokonaisaika päivässä (minuutteina).
    TimeGroup Entity Aikaryhmän tiedot.
    1. TimeGroupId (Guid): Aikaryhmän tunnus.
    2. TimeGroupDetail (EntityReference): Entiteettiviittaus aikaryhmän tietoon.
    3. TimeGroupDetailStartTime (DateTime): Aikaryhmän tiedon aloitusaika.
    4. TimeGroupDetailEndTime (DateTime): Aikaryhmän tiedon lopetusaika.

    Vihje

    Kun luot varauksia API:n avulla, käytä taulukossa kuvattua Potentiaali-kenttää. Jos et käytä tätä kenttää, se voi johtaa päällekkäisiin tai soveltumattomiin varauksiin.

    Ajankohdan resurssi

    Name Type Description
    Resurssi EntityReference Entiteettiviittaus varattavissa olevan resurssiin.
    ResourceGroup EntityReference Entiteettiviittaus varattavissa olevaan resurssiryhmään.
    BusinessUnit EntityReference Entiteettiviittaus liiketoimintayksikköön.
    OrganizationalUnit EntityReference Entiteettiviittaus organisaatioyksikköön.
    ResourceType Integer Resurssityyppi. Katso mahdolliset arvot BookableResource-entiteetin ResourceType-määritteestä.
    PoolId GUID-tunnus Sen poolin tunnus, jonka jäsen resurssi on aikavälin keston ajan.
    CrewId GUID-tunnus Sen työryhmän tunnus, jonka jäsen resurssi on aikavälin keston ajan.
    Ominaisuudet EntityCollection Varattavissa olevan resurssin ominaisuudet. Kukin kokoelman entiteetti sisältää entiteetit, joilla on ominaisuudet ja luokitustiedot.
    1. Characteristic (EntityReference): Entiteettiviittaus ominaisuuteen.
    2. RatingId (Guid) Ominaisuuden luokitustunnus.
    3. RatingName (String): luokitusnimi.
    4. RatingValue (Integer): Luokitusarvo.
    HasStartLocation totuusarvo Totuusarvo, joka osoittaa, onko resurssilla alkusijainti.
    HasEndLocation totuusarvo Totuusarvo, joka osoittaa, onko resurssilla loppusijainti.
    Sähköposti String Resurssin sähköpostiosoite.
    Puhelin String Resurssin puhelinnumero.
    ImagePath String Polku resurssin kuvaan.
    CalendarId GUID-tunnus Resurssin kalenteritunnus.

    Esimerkkejä

    Tässä esimerkissä käytät aikatauluavustajan API:n versiota 3, joka tukee web-API-kutsuja, vaatimukseen, jonka kesto on 60 minuuttia. Käyttämällä attribuuttia settings suodatat tulokset. Pohdit kahta resurssityyppiä lopullisissa tuloksissa: 1 ja 2 (toisin sanoen geneerinen ja kontakti).

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

    Seuraava esimerkki osoittaa entiteettikokoelmien oikean käytön. Tässä tapauksessa se määrittelee 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"
                    }
                ]
            }
        }
    }