Resursu meklēšanas pieejamības API

Field Service organizācijām ir jāplāno darbs, bieži vien izmantojot servisa aģentu tieši klientam. Rezervācijas parasti tiek veidotas, pamatojoties uz uzņēmumam pieejamajiem resursiem un darba prasībām.

Ja darba plānošanai izmantojat vismaz Dynamics 365 Field Service v8.8.43.51 un Universal Resource Scheduling v3.12.46.21, izmantojiet API msdyn_SearchResourceAvailability, lai izgūtu visus darbam piemērotos resursus, lai varētu efektīvi plānot darbu. Rakstīšanas laikā v3 ir jaunākā versija msdyn_SearchResourceAvailability un atbalsta tīmekļa API zvanus.

Piezīmes

Izmantojiet jaunāko API versiju, jo vecākās versijās var tikt izmantotas novecojušas autentifikācijas metodes.

Ievades parametri

Nosaukums Tips Apraksts Obligāts Noklusējuma vērtība
Versija Virkne API versijas numurs identificē API versiju, kura ir jāizsauc. Tas atbilst major.minor.patch formātam. Pieprasījumā nav jābūt iekļautam pilnam versijas numuram.

  • Ja ir norādīta tikai galvenā versija, tā izsauc jaunāko papildversiju un ielāpa versiju, kas pieejama galvenajai versijai.
  • Ja ir norādīta gan galvenā, gan papildversija, tiek izsaukta jaunākā pieejamā ielāpa versija.
  • Ja ir minētas visas trīs versijas daļas, tas izsauc precīzu norādīto API versiju.
  • Nav piemērojams
    IsWebApi Būla Iestatiet uz True , lai izmantotu plānošanas palīgu, izmantojot tīmekļa API. Nav piemērojams
    Prasība Elements Šis atribūts nosaka resursu prasību, kurai tiek izgūta resursu pieejamība. Paredzams, ka tā būs msdyn_resourcerequirement tipa entītija. Prasība var būt iepriekš pastāvējis ieraksts no datubāzes vai tāds, kas izveidots lidojumā ar nepieciešamajiem ierobežojumiem. Entītijā ir jāiekļauj visas ar meklēšanu saistītas specifikācijas. Šīs vienības @odata.type jābūt Microsoft.Dynamics.CRM.msdyn_requirement. Daži svarīgi atribūti, kas jāaizpilda:
    1. msdyn_fromdate (DateTime): prasības no datuma ISO formātā
    2. msdyn_todate (DateTime): līdz šim noteiktās prasības ISO formātā
    3. msdyn_remainingduration (Vesels skaitlis): atlikušais prasības ilgums minūtēs
    4. msdyn_duration (Vesels skaitlis): kopējais prasības ilgums minūtēs
    Nav piemērojams
    Iestatījumi Elements Iestatījumu atribūts palīdz izgūtos resursus filtrēt tālāk. Norādiet iestatījumus kā atribūtus entītiju maisā. Entītijas veidam nav nozīmes. Varat norādīt jebkuru entītijas loģisko nosaukumu. Nav piemērojams
    ResourceSpecification Elements Definējiet resourceSpecification atribūtu kā atribūtus entītiju maisā. Šīs vienības @odata.type jābūt Microsoft.Dynamics.CRM.expando. Nē. Nevienu

    Iestatījumu entītija

    Iestatījumu entītija nav entītija, kas pastāv Dataverse; tomēr tā ir visu tālāk norādīto atribūtu kolekcija, kas palīdz plānošanas palīga API filtrēt rezultātus. Tādējādi šīs vienības @odata.type ir jābūt Microsoft.Dynamics.CRM.expando.

    Nosaukums Tips Apraksts Obligāts Noklusējuma vērtība
    ConsiderSlotsWithLessThanRequiredCapacity Būla Iestatiet to uz Patiess , ja, aprēķinot potenciālās pieejamās laika nišas resursa kalendārā, jāņem vērā laika niša, kas ir mazāka par nepieciešamo noslodzi (piepūli). Nē. False
    ConsiderSlotsWithLessThanRequiredDuration Būla Iestatiet to uz Patiess , ja, aprēķinot potenciālās pieejamās laika nišas resursa kalendārā, jāņem vērā laika niša, kas ir mazāka par nepieciešamo ilgumu. Nē. False
    ConsiderSlotsWithOverlappingBooking Būla Iestatiet to uz Patiess , ja, aprēķinot potenciālās pieejamās laika nišas resursa kalendārā, jāņem vērā laika niša ar rezervācijām, kas pārklājas. Nē. False
    ConsiderSlotsWithProposedBookings Būla Iestatiet to uz Patiess , ja, aprēķinot potenciālās pieejamās laika nišas resursa kalendārā, jāņem vērā laika niša ar piedāvātajām rezervācijām. Nē. False
    ConsiderAppointments Būla Iestatiet to uz True meklēšanas resursu pieejamības API, lai ievērotu esošās Dataverse tikšanās kā resursa rezervācijas, ja ir iestatīti organizācijas un resursu līmeņa iestatījumi. Tikšanās ar statusu Aizņemts vai Pabeigts tiek uzskatītas par nepieejamām operāciju plānošanai. Nē. False
    ConsiderTravelTime Būla Iestatiet to uz Patiess , ja, aprēķinot potenciālos laika nišas resursa kalendārā, jāņem vērā ceļojuma laiks. Nē. True
    ExcludeResourceCharacteristics Būla Iestatiet šo vērtību uz True , lai izslēgtu resursu raksturlielumus laika nišām. Nē. False
    MovePastStartDateToCurrentDate Būla Iestatiet to uz Patiess , lai pārceltu pagātnes sākuma datumu uz pašreizējo datumu. Nē. False
    UseRealTimeResourceLocation Būla Iestatiet to uz Patiess , ja, aprēķinot potenciālos laika nišas resursa kalendārā, jāizmanto resursu atrašanās vieta reāllaikā. Nē. False
    SortOrder EntityCollection Norādiet kārtošanas secību, izmantojot entītiju kolekciju. Katra kolekcijas entītija pārstāv vienu kārtošanas kritēriju, un to var kārtot Resources tikai pēc atbildes, bet ne TimeSlots. Šīs vienības @odata.type jābūt Microsoft.Dynamics.CRM.expando. Šie ir atribūti, kas jums jāaizpilda:
    1. Name (String): kārtošanas kritēriji
    2. SortOrder (Vesels skaitlis): kārtošanas virziens (0 augošā secībā un 1 dilstošā secībā)
    Nē. Nevienu
    MaxResourceTravelRadius Elements Šis atribūts norāda maksimumu, ko var definēt entītijā. Šīs vienības @odata.type jābūt Microsoft.Dynamics.CRM.expando. Šie ir atribūti, kas jums jāaizpilda:
    1. Vērtība (decimāldaļa): rādiuss
    2. Unit (Vesels skaitlis): attāluma vienība. Iespējamās vērtības skatiet msdyn_distance vienību opciju kopā.
    Nē. 0 km. Ja tas tā ir, resursi netiek atgriezti par prasībām uz vietas.
    MaxNumberOfResourcesToEvaluate Integer Šis atribūts definē ierobežojumu resursu skaitam, kas tiek apsvērti pieprasījumam. Nē. Ja šis atribūts nav iekļauts API izsaukumā, sistēma izmanto resursu pieejamības izgūšanas ierobežojumu no plānojamās entītijas definīcijas, kā definēts sadaļā Iespējoto entītiju iestatījumu rediģēšana. Ja tas ir iekļauts zvanā, tas pārraksta definēto resursu pieejamības izgūšanas ierobežojumu.
    ApsverietOutlookSchedules Būla Iestatiet šo vērtību uz True ja jāņem vērā Outlook grafiki. Pieejams tikai versijās 3.1.0 un jaunākās versijās. Nē. False

    Resursu specifikāciju entītija

    Nosaukums Tips Apraksts Obligāts Noklusējuma vērtība
    ResourceTypes EntityCollection Šis atribūts norāda prasībai nepieciešamo resursa tipu. Izmantojiet entītiju kolekciju, lai norādītu šo atribūtu. Katra kolekcijas entītija pārstāv vienu rezervējamu resursu tipu. Šīs vienības @odata.type jābūt Microsoft.Dynamics.CRM.msdyn_resourceType. Šis atribūts ir nepieciešams:
    1. Vērtība (Vesels skaitlis): opciju kopas vērtība, kas apzīmē resursa tipu:
      • 1- vispārīgs
      • 2 - kontaktpersona
      • 3 - lietotājs
      • 4- aprīkojums
      • 5 - konts
      • 6 - darbinieki
      • 7 - telpa
      • 8 - kopas
    Nē. Visi resursu tipi, izņemot darbiniekus
    PreferredResources EntityCollection Šis atribūts norāda prasībai vēlamos resursus. Pievienojiet resursus šai entītiju kolekcijai, lai nodrošinātu, ka tie atrodas pieejamo resursu saraksta augšgalā. Pat resursi, kas nav daļa no entītiju kolekcijas, ir sarakstā, bet tikai pēc vēlamajiem resursiem. Nē. Nevienu
    RestrictedResources EntityCollection Šis atribūts norāda resursus, kas nav jāņem vērā saistībā ar šo prasību. Visas šī resursa laika nišas tiek filtrētas no šī API rezultātu saraksta. Nē. Nevienu
    MustChooseFromResources EntityCollection Šis atribūts norāda tikai resursus, kuri var būt pieejamo resursu sarakstā. Tas filtrē visus pārējos rezultātus no izvades saraksta.
    Ierobežojumi Elements Šis atribūts nosaka papildu ierobežojumus, kas jālieto pieejamo resursu izgūšanai. Nē. Nevienu
    RetrieveResourcesQueryId GUID Izgūšanas resursu vaicājuma ID. Nē. Noklusējuma resursa vaicājuma ID izgūšana.
    BookedResourceId GUID Šis atribūts norāda prasībai pašlaik rezervēto resursu. Nē. Nevienu

    Piezīmes

    Izmantojiet rezervējamo resursu entītiju entītiju kolekciju, lai norādītu resursu atribūtus Vēlams, Ierobežots un MustChooseFrom . Katra entītija kolekcijā pārstāv vienu Vēlamo, Ierobežoto vai MustChooseFrom resursu. Šis atribūts viņiem ir nepieciešams:

    1. Vērtība (Guid): resursa Vēlamais, Ierobežotais vai MustChooseFrom rezervējamais resursa ID. Šīs vienības @odata.type jābūt Microsoft.Dynamics.CRM.msdyn_bookableresource.

    Ierobežojumi

    Norādiet papildu ierobežojumus, izmantojot šīs entītijas atribūtus. Entītijas veidam nav nozīmes. Varat norādīt jebkuru entītijas loģisko nosaukumu.

    Pārskatiet vaicājumu Izgūt resursus plānošanas paneļa iestatījumos, lai noteiktu, kuri ierobežojumi varētu būt piemērojami. Pēc noklusējuma tajā ir ietvertas tālāk norādītās darbības.

    Nosaukums Tips Apraksts
    Īpašības EntityCollection Raksturlielumu kolekcija, kurai jābūt kvalificētam resursam. Katrā ierakstā ir ar raksturlieluma characteristic ID. Ja vēlaties, iekļaujiet ratingvalue a ar vērtējuma vērtības ID, lai filtrētu resursus pēc noteikta prasmju līmeņa.
    Lomas EntityCollection To lomu ID kolekcija, kam jābūt kvalificētam resursam.
    Teritorijas EntityCollection Teritorijas ID kolekcija. Kvalificēts resurss ir jāpiešķir vienai no teritorijām.
    UnspecifiedTerritory Būla Kopā ar teritorijas ierobežojumu nosaka, ka kvalificētais ir jāpiešķir vienai no teritorijām vai visām teritorijām.
    OrganizationalUnits EntityCollection Organizācijas vienību ID kolekcija. Kvalificētam resursam ir jābūt vienas no norādītajām organizācijas vienībām dalībniekam.
    Teams EntityCollection Komandas ID kolekcija. Kvalificētam resursam ir jābūt ietvertam vienā no darba grupām (tas norāda, ka resursa tips ir sistēmas lietotājs).
    BusinessUnits EntityCollection Struktūrvienības ID kolekcija. Kvalificētam resursam ir jābūt ietvertam vienā no struktūrvienībām (tas norāda, ka resursa tips ir sistēmas lietotājs).

    Izvades parametri

    Augstākajā līmenī izvadei ir šādi četri parametri. Rezultāti ir parādīti entītiju kolekcijās un entītijās. Atbildes var neietvert visus atribūtus, kas šeit aprakstīti kā vērtība Null, vai arī atbildē netiek izlaistas NA vērtības. Vienmēr pārbaudiet, vai ir atribūts, pirms mēģināt tam piekļūt.

    Nosaukums Tips Apraksts
    TimeSlots EntityCollection Laika slota rezultātu kolekcija. Papildinformāciju skatiet sadaļā Laika perioda entītija .
    Resursi EntityCollection Resursu rezultātu kolekcija. Resursi tiek attēloti kā entītiju kopa ar šādiem atribūtiem:
    1. BookableResource (Entītija): grāmatojamā resursa entītija, kas ir pieejama prasībai.
    2. TotalAvailableTime (Double): kopējais resursam pieejamais laiks, lai izpildītu prasību.
    Saistīta Elements Saistītie resursi ir resursi un resursu laika nišas, kas nav tieši kvalificētas pieprasītajai prasībai, bet ir saistītas. Piemēram, ja apkalpes loceklis kvalificējas prasībai, tad pārējie apkalpes locekļi būtu saistīti rezultāti.
    1. Timeslots (EntityCollection): saistīto resursu laika nišas. Laika nišu definīcija ir tāda pati, kā aprakstīts sadaļā Laikanišas.
    2. Resursi (EntityCollection): saistītie resursi. Resursu definīcija ir tāda pati, kā aprakstīts resursu atribūta definīcijā.
    Izņēmumi Elements Šis atribūts ietver informāciju par jebkuru veikto izņēmumu un informāciju par to, vai un kur tika saīsināta resursu meklēšana.
    1. Message (String): Izņēmuma ziņojums
    2. ResourcesTruncatedAt (Vesels skaitlis): ja resursu skaits pārsniedza izgūšanas ierobežojumu; skaitlis, kur resursi, kur apcirsti.

    Laika slotu entītija

    Nosaukums Tips Apraksts
    ID GUID Laika slota unikālais identifikators.
    Tips Integer Laika slota veids. Tā var būt viena no šādām vērtībām:
    • 0: Pieejams
    • 1: Plānots
    • 2: izslēgts
    • 3: pārtraukums
    StartTime DateTime Laika slota sākuma laiks. Ja ir ceļojums, šis laiks ir ceļojuma sākuma laiks. Ja nē, šis laiks ir prasības sākuma laiks.
    ArrivalTime DateTime Laika slota ierašanās laiks. Ja prasība ir paredzēta, šis laiks ir prasības sākuma laiks pēc ceļojuma pabeigšanas. Ja nē, tas ir tāds pats kā laika nišas sākuma laiks.
    EndTime DateTime Laika slota beigu laiks.
    Panākumi Integer Resursa ieguldījums vai noslodze, lai izpildītu prasības.
    ResourceRequirement EntityReference Resursa prasība, kurai tiek izgūti laika sloti.
    Potential Būla Būla vērtība, kas norāda, vai laika slots var izpildīt pieprasīto prasību.
    IsDuplicate Būla Būla vērtība, kas norāda, vai laika slots ir dublikāts.
    AllowOverlapping Būla Būla vērtība, kas norāda, vai ir atļauta pārklāšanās.
    Resource Elements Resurss, kuram pieder laika slots. Papildinformāciju skatiet sadaļā Laika nišas resurss.
    Atrašanās vieta Elements Atrašanās vietai ir trīs atribūti:
    1. Atrašanās vieta (entītija): tai ir divi atribūti -
      • Platuma
      • Garuma
    2. WorkLocation (Vesels skaitlis): Tam ir trīs atribūti -
      • Klātienē. Klātienes prasības no rezultātiem izslēdz pūla un objekta resursu veidus.
      • Iekārtas
      • Atrašanās vieta agnostiķis
    3. LocationSourceSlot (Integer): atrašanās vietas informācijas avotam ir trīs atribūti -
      • Kopīgs
      • Pielāgota GPS entītija
      • Mobilais audits
    Ceļošana Elements Šajā entītijā ir detalizēta informācija par brauciena laiku un attālumu laika slotā. Atribūti ir šādi:
    1. Attālums (divvietīgs ceļojums): ceļa attālums
    2. TravelTime (Double): ceļojuma laiks minūtēs.
    3. DistanceFromStartLocation (Double): attālums no resursa sākuma atrašanās vietas.
    4. DistanceFromEndLocation (Double): attālums no resursa gala atrašanās vietas.
    5. DistanceMethodSourceSlot (vesels skaitlis): attāluma vērtību avots vai aprēķina tips
      • Kartes pakalpojums
      • Kā vārna lido
    Tālāk Elements Šajā entītijā ir detalizēta informācija par brauciena laiku un attālumu līdz nākamajai slota rezervācijai.
    1. NextScheduleLocation (Entity): nākamās rezervācijas atrašanās vieta. Uzņēmumam ir divi atribūti:
      • Platuma
      • Garuma
    2. NextScheduleTravelTime (Integer): brauciena laiks līdz nākamajai rezervācijai minūtēs.
    Pieejamība Elements Detalizēta laika slota pieejamības informācija. Šī entītija tiek izmantota ar laika grupām.
    1. AvailableIntervals (EntityCollection): pieejamo intervālu kolekcija. Katrā šīs kolekcijas entītijā ir detalizēta informācija par laika grupas intervālu.
      • StartTime (DateTime): sākuma laiks.
      • ArrivalTime (DateTime): ierašanās laiks.
      • EndTime (DateTime): beigu laiks.
      • TimeGroupId (DateTime): laika grupas ID.
      • TimeGroupDetailStartTime (DateTime): laika grupas sākuma laiks.
      • TimeGroupDetailEndTime (DateTime): laika grupas beigu laiks.
    2. TotalAvailableDuration (Double): kopējais pieejamais ilgums minūtēs.
    3. TotalAvailableTime(Double): kopējais resursam pieejamais laiks dienā (minūtēs).
    TimeGroup Elements Detalizēta informācija par laika grupu.
    1. TimeGroupId (Guid): laika grupas ID.
    2. TimeGroupDetail( EntityReference): entītijas atsauce uz laika grupas informāciju.
    3. TimeGroupDetailStartTime (DateTime): laika grupas detalizēta informācija par sākuma laiku.
    4. TimeGroupDetailEndTime (DateTime): laika grupas detalizētās informācijas beigu laiks.

    Padoms

    Veidojot rezervācijas, izmantojot API, izmantojiet tabulā aprakstīto lauku Potenciāls . Šī lauka neizmantošana var izraisīt pārklāšanos vai nepiemērotas rezervācijas.

    Laika slota resurss

    Nosaukums Tips Apraksts
    Resource EntityReference Entītijas atsauce uz rezervējamu resursu.
    ResourceGroup EntityReference Entītijas atsauce uz rezervējamu resursu grupu.
    Struktūrvienība EntityReference Entītijas atsauce uz struktūrvienību.
    OrganizationalUnit EntityReference Entitījas atsauce uz organizācijas vienību.
    ResourceType Integer Resursa veids. Iespējamās vērtības skatiet entītijas BookableResource atribūtā ResourceType .
    PoolId GUID Tā pūla ID, kurā resurss ir dalībnieks laika nišā.
    CrewId GUID Tā apkalpe ID, kuras resurss ir dalībnieks laika nišā.
    Īpašības EntityCollection Rezervējamā resursa īpašības. Katrā kolekcijas entītijā ir entītijas ar īpašībām un novērtējuma informāciju.
    1. Raksturojums (EntityReference): entītijas atsauce uz raksturlielumu.
    2. RatingId (Guid) Raksturlieluma reitinga ID.
    3. RatingName (String): vērtējuma nosaukums.
    4. RatingValue (Integer): vērtējuma vērtība.
    HasStartLocation Būla Būla vērtība, kas norāda, vai resursam ir sākuma atrašanās vieta.
    HasEndLocation Būla Būla vērtība, kas norāda, vai resursam ir beigu atrašanās vieta.
    E-pasta ziņojums Virkne Resursa e-pasta adrese.
    Tālrunis Virkne Resursa tālruņa numurs.
    ImagePath Virkne Ceļš uz resursa attēlu.
    CalendarId GUID Resursa kalendāra ID.

    Piemēri

    Šajā piemērā tiek izmantota plānošanas palīga API 3. versija, kas atbalsta tīmekļa API izsaukumus, prasībai, kuras ilgums ir 60 minūtes. Izmantojot atribūtu settings , jūs filtrējat rezultātus. Gala rezultātiem tiek ņemti vērā divi resursu tipi: 1 un 2 (citiem vārdiem sakot, vispārīgs un kontakts).

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

    Tālāk sniegtajā piemērā ir parādīts, kā pareizi izmantot entītiju kolekcijas. Šajā gadījumā tas norāda 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"
                    }
                ]
            }
        }
    }