[OperationContract]
[FaultContract(typeof(DbFaultContract))]
[FaultContract(typeof(ValidationFaultContract))]
[SwaggerWcfTag("Orders", false)]
[WebInvoke(UriTemplate = "/Substances", Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.OK, Description = "Success")]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.InternalServerError, Description = "An unexpected error occurred while processing the request.", Type = typeof(JsonErrorMessage))]
[SwaggerWcfResponse(StatusCode = HttpStatusCode.BadRequest, Description = "Fault exception", Type = typeof(JsonErrorMessage))]
OrderedSubstanceContract[] GetMatchingSubstances(OrderStateFilterContract orderStateFilter)