[OperationContract]
[FaultContract(typeof(ValidationFaultContract))]
[SwaggerWcfTag("Catalog (common)", false)]
[WebGet(UriTemplate = "/Details?productLines={productLines}&includeCustom={includeCustom}&excludeOfficial={excludeOfficial}")]
[SwaggerWcfPath(null, null, null, null, null, false, null, Summary = "Get all catalog entries (details)", Description = "Get the list of detailed catalog entries (extended product contract) matching the provided filter criteria")]
[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))]
CatalogChemicalProductsDetailsContract[] GetAllCatalogDetails(ProductLines? productLines = ProductLines.All, bool includeCustom = false, bool excludeOfficial = false)