1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising: identifying a first set of one or more resource capabilities for each resource in a plurality of resources; for each particular request in a plurality of requests: identifying a second set of one or more resource capabilities required for completion of the particular request; based at least on (a) the first set of resource capabilities for each resource in the plurality of resources and (b) the second set of resource capabilities required for completion of the particular request: selecting a candidate set of one or more resources, from the plurality of resources, for the particular request, the first set of resource capabilities for each of the candidate set of resources including the second set of resource capabilities required for completion of the particular request; specifying a set of constraints that limit an assignment of a first resource in the plurality of resources based on the assignment of the first resource to one or more requests in the plurality of requests; and creating a data model comprising: the set of constraints; a plurality of data model elements corresponding respectively to the plurality of requests, each particular data model element, in the plurality of data model elements, including a set of identifiers corresponding to the candidate set of resources for the respective request.